Workflow verification incomplete
This receipt shows the requests we made, what the app reported back, and which checks passed or failed. It covers what ran in this sandbox session against the rules we set.
Inconclusive
Each check was set up before the run. This shows what we tried, what came back, and which rule it was checked against.
This receipt covers the checks in this run only. Passing all checks does not certify the whole app as production-ready.
Test scenarios
A small-discount RFQ is priced from the catalog, quoted, finalized and covered automatically
baselineWhat we probed
A small-discount RFQ is priced from the catalog, quoted, finalized and covered automatically
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- A small-discount RFQ is priced from the catalog, quoted, finalized and covered automatically
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 5,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "baseline"
}
}Server returned
HTTP 200
{
"runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "baseline"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 419
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 349
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 245
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$931.00 at 5% (auto)",
"durationMs": 22
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "760791346117",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:44.394Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_KBEHH95UP4PVVH4K",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:44.681Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 5,
"total": "$931.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_KJH7SJBY80FIWCQU7S90I4DK",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:44.846Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 5,
"requestedDiscountPct": 5,
"total": "$931.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_KJH7SJBY80FIWCQU7S90I4DK",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:45.120Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "720bf145-93c2-4f70-bf7a-99cb17301ba7",
"appliedAt": "2026-10-17T16:14:45.265Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "17SQO4T4VK.JDB4XU",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:45.398Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 5,
"totalMinor": 93100,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:14:43.654Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:44.074Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:44.100Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:14:44.395Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:44.681Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:44.846Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:45.120Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:45.265Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:45.399Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:45.402Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:14:43.654Z",
"updatedAt": "2026-10-17T16:14:45.402Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "437",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 5,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "baseline"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "baseline"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 419
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 349
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 245
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$931.00 at 5% (auto)",
"durationMs": 22
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "760791346117",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:44.394Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_KBEHH95UP4PVVH4K",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:44.681Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 5,
"total": "$931.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_KJH7SJBY80FIWCQU7S90I4DK",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:44.846Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 5,
"requestedDiscountPct": 5,
"total": "$931.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_KJH7SJBY80FIWCQU7S90I4DK",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:45.120Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "720bf145-93c2-4f70-bf7a-99cb17301ba7",
"appliedAt": "2026-10-17T16:14:45.265Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "17SQO4T4VK.JDB4XU",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:45.398Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 5,
"totalMinor": 93100,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:14:43.654Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:44.074Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:44.100Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:14:44.395Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:44.681Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:44.846Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:45.120Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:45.265Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:45.399Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:45.402Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:14:43.654Z",
"updatedAt": "2026-10-17T16:14:45.402Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 5,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "baseline"
}
}Server returned
HTTP 200
{
"runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "baseline"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 419
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 349
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 245
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$931.00 at 5% (auto)",
"durationMs": 22
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "760791346117",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:44.394Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_KBEHH95UP4PVVH4K",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:44.681Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 5,
"total": "$931.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_KJH7SJBY80FIWCQU7S90I4DK",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:44.846Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 5,
"requestedDiscountPct": 5,
"total": "$931.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_KJH7SJBY80FIWCQU7S90I4DK",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:45.120Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "720bf145-93c2-4f70-bf7a-99cb17301ba7",
"appliedAt": "2026-10-17T16:14:45.265Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "17SQO4T4VK.JDB4XU",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:45.398Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 5,
"totalMinor": 93100,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:14:43.654Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:44.074Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:44.100Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:14:44.395Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:44.681Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:44.846Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:45.120Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:45.265Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:45.399Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:45.402Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:14:45.868Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:43.654Z",
"updatedAt": "2026-10-17T16:14:45.868Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "437",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 5,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "baseline"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "baseline"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 419
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 349
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 245
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$931.00 at 5% (auto)",
"durationMs": 22
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "760791346117",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:44.394Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_KBEHH95UP4PVVH4K",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:44.681Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 5,
"total": "$931.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_KJH7SJBY80FIWCQU7S90I4DK",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:44.846Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 5,
"requestedDiscountPct": 5,
"total": "$931.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_KJH7SJBY80FIWCQU7S90I4DK",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:45.120Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "720bf145-93c2-4f70-bf7a-99cb17301ba7",
"appliedAt": "2026-10-17T16:14:45.265Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "17SQO4T4VK.JDB4XU",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:45.398Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 5,
"totalMinor": 93100,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:14:43.654Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:44.074Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:44.100Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:14:44.395Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:44.681Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:44.846Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:45.120Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:45.265Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:45.399Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:45.402Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:14:45.868Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:43.654Z",
"updatedAt": "2026-10-17T16:14:45.868Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
baselineApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
A small-discount RFQ is priced from the catalog, quoted, finalized and covered automatically
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (13)
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.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "228",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-d0b8c8"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-fbc5c6"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "228",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "760791346117",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "141",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/customers · HTTP 200
We sent
POST /v1/customers
{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}Server returned
HTTP 200
{
"address": null,
"balance": 0,
"business_name": "Sample Business",
"cash_balance": null,
"created": 49,
"currency": "USD",
"customer_account": null,
"default_source": null,
"delinquent": false,
"description": null,
"discount": null,
"email": "[email protected]",
"id": "cus_KBEHH95UP4PVVH4K",
"individual_name": "Sample Individual",
"invoice_prefix": null,
"livemode": false,
"name": "Hank Scorpio",
"object": "customer",
"phone": "+14155550100",
"preferred_locales": null,
"shipping": null,
"tax_exempt": "exempt",
"test_clock": null,
"metadata": {
"company": "Globex"
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"content-length": "79",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes · HTTP 200
We sent
POST /v1/quotes
{
"customer": "cus_KBEHH95UP4PVVH4K",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "5",
"discount_policy": "auto",
"quoted_total_minor": "93100"
}
}Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_KBEHH95UP4PVVH4K",
"created": 1792253684,
"expires_at": 1794845684,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "5",
"discount_policy": "auto",
"quoted_total_minor": "93100"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_KJH7SJBY80FIWCQU7S90I4DK"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes
{
"host": "fetchsandbox.com",
"content-length": "286",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"customer": "cus_KBEHH95UP4PVVH4K",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "5",
"discount_policy": "auto",
"quoted_total_minor": "93100"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK · HTTP 200
We sent
GET /v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK
No body shown for this read.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_KBEHH95UP4PVVH4K",
"created": 1792253684,
"expires_at": 1794845684,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "5",
"discount_policy": "auto",
"quoted_total_minor": "93100"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_KJH7SJBY80FIWCQU7S90I4DK"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK/finalize · HTTP 200
We sent
POST /v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK/finalize
No body was saved. This receipt cannot tell whether it was empty or not captured.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": "QT-KJH7SJBY-0001-1",
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_KBEHH95UP4PVVH4K",
"created": 1792253684,
"expires_at": 1794845684,
"status": "open",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "5",
"discount_policy": "auto",
"quoted_total_minor": "93100"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": 1792253685
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_KJH7SJBY80FIWCQU7S90I4DK"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK/finalize
{
"host": "fetchsandbox.com",
"content-length": "0",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
gmail · POST /gmail/v1/users/me/drafts · HTTP 200
We sent
POST /gmail/v1/users/me/drafts
{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtYmFzZWxpbmVAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDJjZDYzNTAzOGRiNzNjZTYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApEaXNjb3VudDogNSUKVG90YWw6ICQ5MzEuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0"
},
"user_id": "me"
}Server returned
HTTP 200
{
"id": "720bf145-93c2-4f70-bf7a-99cb17301ba7",
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtYmFzZWxpbmVAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDJjZDYzNTAzOGRiNzNjZTYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApEaXNjb3VudDogNSUKVG90YWw6ICQ5MzEuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0"
},
"user_id": "me"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts
{
"host": "fetchsandbox.com",
"content-length": "501",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtYmFzZWxpbmVAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDJjZDYzNTAzOGRiNzNjZTYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApEaXNjb3VudDogNSUKVG90YWw6ICQ5MzEuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0"
},
"user_id": "me"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $931.00 at 5% off. Quote finalized.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_d66054b5177e4a9284cc5dca29",
"client_msg_id": "cli_95d3b6e6a9404caea8e7001579",
"name": "item-c66a8c",
"old_name": "Sample Old",
"parent_user_id": "par_ed366728e031407db1761b7979",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17SQO4T4VK.JDB4XU"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "163",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $931.00 at 5% off. Quote finalized.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A 20% discount drafts the quote but parks finalizing and the cover email for approval
approval_discount_parksWhat we probed
A 20% discount drafts the quote but parks finalizing and the cover email for approval
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- A 20% discount drafts the quote but parks finalizing and the cover email for approval
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approval_discount_parks"
}
}Server returned
HTTP 200
{
"runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approval_discount_parks"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 169
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 186
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "483681691005",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:46.969Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_R074U3KVB0VYOG3B",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:47.243Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_8UKW6W7C2XNDDYGHA3F25NAH",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:47.403Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17KQH0DY9S.XC0EIR",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:47.560Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:47.562Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:46.512Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:46.701Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:46.704Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:46.969Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:47.243Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:47.403Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:47.561Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:47.562Z",
"msg": "awaiting approval"
}
],
"createdAt": "2026-10-17T16:14:46.512Z",
"updatedAt": "2026-10-17T16:14:47.562Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "483",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approval_discount_parks"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approval_discount_parks"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 169
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 186
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "483681691005",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:46.969Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_R074U3KVB0VYOG3B",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:47.243Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_8UKW6W7C2XNDDYGHA3F25NAH",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:47.403Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17KQH0DY9S.XC0EIR",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:47.560Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:47.562Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:46.512Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:46.701Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:46.704Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:46.969Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:47.243Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:47.403Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:47.561Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:47.562Z",
"msg": "awaiting approval"
}
],
"createdAt": "2026-10-17T16:14:46.512Z",
"updatedAt": "2026-10-17T16:14:47.562Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approval_discount_parks"
}
}Server returned
HTTP 200
{
"runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approval_discount_parks"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 169
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 186
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "483681691005",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:46.969Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_R074U3KVB0VYOG3B",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:47.243Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_8UKW6W7C2XNDDYGHA3F25NAH",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:47.403Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17KQH0DY9S.XC0EIR",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:47.560Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:47.562Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:46.512Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:46.701Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:46.704Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:46.969Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:47.243Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:47.403Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:47.561Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:47.562Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:48.139Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:46.512Z",
"updatedAt": "2026-10-17T16:14:48.139Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "483",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approval_discount_parks"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approval_discount_parks"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 169
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 186
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "483681691005",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:46.969Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_R074U3KVB0VYOG3B",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:47.243Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_8UKW6W7C2XNDDYGHA3F25NAH",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:47.403Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17KQH0DY9S.XC0EIR",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:47.560Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:47.562Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:46.512Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:46.701Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:46.704Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:46.969Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:47.243Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:47.403Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:47.561Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:47.562Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:48.139Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:46.512Z",
"updatedAt": "2026-10-17T16:14:48.139Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
approval_discount_parksApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
A 20% discount drafts the quote but parks finalizing and the cover email for approval
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (10)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-65b493"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-2c1cb2"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "243",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "243",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "483681691005",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "156",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/customers · HTTP 200
We sent
POST /v1/customers
{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}Server returned
HTTP 200
{
"address": null,
"balance": 0,
"business_name": "Sample Business",
"cash_balance": null,
"created": 77,
"currency": "USD",
"customer_account": null,
"default_source": null,
"delinquent": false,
"description": null,
"discount": null,
"email": "[email protected]",
"id": "cus_R074U3KVB0VYOG3B",
"individual_name": "Sample Individual",
"invoice_prefix": null,
"livemode": false,
"name": "Hank Scorpio",
"object": "customer",
"phone": "+14155550100",
"preferred_locales": null,
"shipping": null,
"tax_exempt": "exempt",
"test_clock": null,
"metadata": {
"company": "Globex"
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"content-length": "94",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes · HTTP 200
We sent
POST /v1/quotes
{
"customer": "cus_R074U3KVB0VYOG3B",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_R074U3KVB0VYOG3B",
"created": 1792253687,
"expires_at": 1794845687,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_8UKW6W7C2XNDDYGHA3F25NAH"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes
{
"host": "fetchsandbox.com",
"content-length": "306",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"customer": "cus_R074U3KVB0VYOG3B",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_5cc5ee6062f4429a96baec85b2",
"client_msg_id": "cli_928f86db315a48829a3d1ddf08",
"name": "item-150743",
"old_name": "Sample Old",
"parent_user_id": "par_672a744f7c3b41eb8782583794",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17KQH0DY9S.XC0EIR"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "217",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Approval finalizes the quote once and Stripe reads it back as finalized
approve_and_reconcileWhat we probed
Approval finalizes the quote once and Stripe reads it back as finalized
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocationsPOST /invocationsPOST /invocations
Expected vs actual
- Expected
- Approval finalizes the quote once and Stripe reads it back as finalized
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
}
}Server returned
HTTP 200
{
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 158
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 110
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 173
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "208942902332",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.228Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_YB37IWK92NU6PDYQ",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.516Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:49.650Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17VLA43EFR.12N88K",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:49.780Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:49.781Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:48.800Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:48.977Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:48.979Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:49.228Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:49.516Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:49.651Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:49.780Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:49.781Z",
"msg": "awaiting approval"
}
],
"createdAt": "2026-10-17T16:14:48.800Z",
"updatedAt": "2026-10-17T16:14:49.781Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "477",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03POST /invocations200
We sent
POST /invocations
{
"action": "decide",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_RVP_SALES"
}Server returned
HTTP 200
{
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 158
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 110
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 173
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "208942902332",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.228Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_YB37IWK92NU6PDYQ",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.516Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:49.650Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:50.252Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "c79b4479-60a6-4f38-8494-d83f5648701c",
"appliedAt": "2026-10-17T16:14:50.388Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17VLA43EFR.12N88K",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:49.780Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:49.781Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:49.971Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:48.800Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:48.977Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:48.979Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:49.228Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:49.516Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:49.651Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:49.780Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:49.781Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:49.971Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:14:50.252Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:50.389Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:50.390Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:14:48.800Z",
"updatedAt": "2026-10-17T16:14:50.390Z",
"result": "recorded"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "131",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "decide",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_RVP_SALES"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "reconcile",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Server returned
HTTP 200
{
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 158
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 110
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 173
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "208942902332",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.228Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_YB37IWK92NU6PDYQ",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.516Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:49.650Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:50.252Z",
"reconcile": {
"status": "match",
"checkedAt": "2026-10-17T16:14:50.709Z"
},
"reconciled": "match"
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "c79b4479-60a6-4f38-8494-d83f5648701c",
"appliedAt": "2026-10-17T16:14:50.388Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.571Z"
},
"reconciled": "unverifiable"
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17VLA43EFR.12N88K",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:49.780Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.571Z"
},
"reconciled": "unverifiable"
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:49.781Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:49.971Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:48.800Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:48.977Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:48.979Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:49.228Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:49.516Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:49.651Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:49.780Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:49.781Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:49.971Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:14:50.252Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:50.389Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:50.390Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:14:50.710Z",
"msg": "reconciled: {\"unverifiable\":5,\"match\":1}"
}
],
"createdAt": "2026-10-17T16:14:48.800Z",
"updatedAt": "2026-10-17T16:14:50.710Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "90",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "reconcile",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 158
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 110
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 173
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "208942902332",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.228Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_YB37IWK92NU6PDYQ",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.516Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:49.650Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:50.252Z",
"reconcile": {
"status": "match",
"checkedAt": "2026-10-17T16:14:50.709Z"
},
"reconciled": "match"
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "c79b4479-60a6-4f38-8494-d83f5648701c",
"appliedAt": "2026-10-17T16:14:50.388Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.571Z"
},
"reconciled": "unverifiable"
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17VLA43EFR.12N88K",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:49.780Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.571Z"
},
"reconciled": "unverifiable"
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:49.781Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:49.971Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:48.800Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:48.977Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:48.979Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:49.228Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:49.516Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:49.651Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:49.780Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:49.781Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:49.971Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:14:50.252Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:50.389Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:50.390Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:14:50.710Z",
"msg": "reconciled: {\"unverifiable\":5,\"match\":1}"
}
],
"createdAt": "2026-10-17T16:14:48.800Z",
"updatedAt": "2026-10-17T16:14:50.710Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
06POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
}
}Server returned
HTTP 200
{
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 158
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 110
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 173
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "208942902332",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.228Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_YB37IWK92NU6PDYQ",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.516Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:49.650Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:50.252Z",
"reconcile": {
"status": "match",
"checkedAt": "2026-10-17T16:14:50.709Z"
},
"reconciled": "match"
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "c79b4479-60a6-4f38-8494-d83f5648701c",
"appliedAt": "2026-10-17T16:14:50.388Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.571Z"
},
"reconciled": "unverifiable"
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17VLA43EFR.12N88K",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:49.780Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.571Z"
},
"reconciled": "unverifiable"
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:49.781Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:49.971Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:48.800Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:48.977Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:48.979Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:49.228Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:49.516Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:49.651Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:49.780Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:49.781Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:49.971Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:14:50.252Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:50.389Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:50.390Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:14:50.710Z",
"msg": "reconciled: {\"unverifiable\":5,\"match\":1}"
},
{
"at": "2026-10-17T16:14:51.192Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:48.800Z",
"updatedAt": "2026-10-17T16:14:51.192Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "477",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
07POST /invocations200
We sent
POST /invocations
{
"action": "decide",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_RVP_SALES"
}Server returned
HTTP 200
{
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 158
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 110
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 173
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "208942902332",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.228Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_YB37IWK92NU6PDYQ",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.516Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:49.650Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.570Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:50.252Z",
"reconcile": {
"status": "match",
"checkedAt": "2026-10-17T16:14:50.709Z"
},
"reconciled": "match"
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "c79b4479-60a6-4f38-8494-d83f5648701c",
"appliedAt": "2026-10-17T16:14:50.388Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.571Z"
},
"reconciled": "unverifiable"
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17VLA43EFR.12N88K",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:49.780Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:50.571Z"
},
"reconciled": "unverifiable"
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:49.781Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:49.971Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:48.800Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:48.977Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:48.979Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:49.228Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:49.516Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:49.651Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:49.780Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:49.781Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:49.971Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:14:50.252Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:50.389Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:50.390Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:14:50.710Z",
"msg": "reconciled: {\"unverifiable\":5,\"match\":1}"
},
{
"at": "2026-10-17T16:14:51.192Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:48.800Z",
"updatedAt": "2026-10-17T16:14:51.394Z",
"result": "already_decided"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "131",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "decide",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_RVP_SALES"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
08POST /invocations200
We sent
POST /invocations
{
"action": "reconcile",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Server returned
HTTP 200
{
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 158
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 110
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 173
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "208942902332",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.228Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:51.622Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_YB37IWK92NU6PDYQ",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.516Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:51.622Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:49.650Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:51.622Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:50.252Z",
"reconcile": {
"status": "match",
"checkedAt": "2026-10-17T16:14:51.746Z"
},
"reconciled": "match"
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "c79b4479-60a6-4f38-8494-d83f5648701c",
"appliedAt": "2026-10-17T16:14:50.388Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:51.623Z"
},
"reconciled": "unverifiable"
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17VLA43EFR.12N88K",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:49.780Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:51.623Z"
},
"reconciled": "unverifiable"
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:49.781Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:49.971Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:48.800Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:48.977Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:48.979Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:49.228Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:49.516Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:49.651Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:49.780Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:49.781Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:49.971Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:14:50.252Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:50.389Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:50.390Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:14:50.710Z",
"msg": "reconciled: {\"unverifiable\":5,\"match\":1}"
},
{
"at": "2026-10-17T16:14:51.192Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:14:51.747Z",
"msg": "reconciled: {\"unverifiable\":5,\"match\":1}"
}
],
"createdAt": "2026-10-17T16:14:48.800Z",
"updatedAt": "2026-10-17T16:14:51.747Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "90",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "reconcile",
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
09GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_and_reconcile"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 158
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 110
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 173
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "208942902332",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.228Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:51.622Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_YB37IWK92NU6PDYQ",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:49.516Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:51.622Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:49.650Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:51.622Z"
},
"reconciled": "unverifiable"
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:50.252Z",
"reconcile": {
"status": "match",
"checkedAt": "2026-10-17T16:14:51.746Z"
},
"reconciled": "match"
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "c79b4479-60a6-4f38-8494-d83f5648701c",
"appliedAt": "2026-10-17T16:14:50.388Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:51.623Z"
},
"reconciled": "unverifiable"
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17VLA43EFR.12N88K",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:49.780Z",
"reconcile": {
"status": "unverifiable",
"detail": "no read-back for this action",
"checkedAt": "2026-10-17T16:14:51.623Z"
},
"reconciled": "unverifiable"
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:49.781Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:49.971Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:48.800Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:48.977Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:48.979Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:49.228Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:49.516Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:49.651Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:49.780Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:49.781Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:49.971Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:14:50.252Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:50.389Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:50.390Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:14:50.710Z",
"msg": "reconciled: {\"unverifiable\":5,\"match\":1}"
},
{
"at": "2026-10-17T16:14:51.192Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:14:51.747Z",
"msg": "reconciled: {\"unverifiable\":5,\"match\":1}"
}
],
"createdAt": "2026-10-17T16:14:48.800Z",
"updatedAt": "2026-10-17T16:14:51.747Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
approve_and_reconcileApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
Approval finalizes the quote once and Stripe reads it back as finalized
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (15)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-e2dee2"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-656a37"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "241",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "241",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "208942902332",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "154",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/customers · HTTP 200
We sent
POST /v1/customers
{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}Server returned
HTTP 200
{
"address": null,
"balance": 0,
"business_name": "Sample Business",
"cash_balance": null,
"created": 35,
"currency": "USD",
"customer_account": null,
"default_source": null,
"delinquent": false,
"description": null,
"discount": null,
"email": "[email protected]",
"id": "cus_YB37IWK92NU6PDYQ",
"individual_name": "Sample Individual",
"invoice_prefix": null,
"livemode": false,
"name": "Hank Scorpio",
"object": "customer",
"phone": "+14155550100",
"preferred_locales": null,
"shipping": null,
"tax_exempt": "exempt",
"test_clock": null,
"metadata": {
"company": "Globex"
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"content-length": "92",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes · HTTP 200
We sent
POST /v1/quotes
{
"customer": "cus_YB37IWK92NU6PDYQ",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_YB37IWK92NU6PDYQ",
"created": 1792253689,
"expires_at": 1794845689,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_9QSB9U9CY6MWRA54CUSSS5UM"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes
{
"host": "fetchsandbox.com",
"content-length": "304",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"customer": "cus_YB37IWK92NU6PDYQ",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_2bbec4a0b2fc4655b3dafeaee0",
"client_msg_id": "cli_60d97b29ca754d22846a353a9c",
"name": "item-47c4cb",
"old_name": "Sample Old",
"parent_user_id": "par_42e1c9828ca64dac9f63759bf2",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17VLA43EFR.12N88K"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "215",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM · HTTP 200
We sent
GET /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM
No body shown for this read.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_YB37IWK92NU6PDYQ",
"created": 1792253689,
"expires_at": 1794845689,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_9QSB9U9CY6MWRA54CUSSS5UM"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM/finalize · HTTP 200
We sent
POST /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM/finalize
No body was saved. This receipt cannot tell whether it was empty or not captured.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": "QT-9QSB9U9C-0001-1",
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_YB37IWK92NU6PDYQ",
"created": 1792253689,
"expires_at": 1794845689,
"status": "open",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": 1792253690
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_9QSB9U9CY6MWRA54CUSSS5UM"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM/finalize
{
"host": "fetchsandbox.com",
"content-length": "0",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
gmail · POST /gmail/v1/users/me/drafts · HTTP 200
We sent
POST /gmail/v1/users/me/drafts
{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtYXBwcm92ZS1hbmQtcmVjb25jaWxlQGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDwyOGQ0MDdkZjE1YmI5NTgyLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKRGlzY291bnQ6IDIwJQpUb3RhbDogJDc4NC4wMAoKVGhlIEFDTUUgc2FsZXMgdGVhbQ"
},
"user_id": "me"
}Server returned
HTTP 200
{
"id": "c79b4479-60a6-4f38-8494-d83f5648701c",
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtYXBwcm92ZS1hbmQtcmVjb25jaWxlQGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDwyOGQ0MDdkZjE1YmI5NTgyLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKRGlzY291bnQ6IDIwJQpUb3RhbDogJDc4NC4wMAoKVGhlIEFDTUUgc2FsZXMgdGVhbQ"
},
"user_id": "me"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts
{
"host": "fetchsandbox.com",
"content-length": "520",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtYXBwcm92ZS1hbmQtcmVjb25jaWxlQGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDwyOGQ0MDdkZjE1YmI5NTgyLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKRGlzY291bnQ6IDIwJQpUb3RhbDogJDc4NC4wMAoKVGhlIEFDTUUgc2FsZXMgdGVhbQ"
},
"user_id": "me"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM · HTTP 200
We sent
GET /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM
No body shown for this read.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": "QT-9QSB9U9C-0001-1",
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_YB37IWK92NU6PDYQ",
"created": 1792253689,
"expires_at": 1794845689,
"status": "open",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": 1792253690
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_9QSB9U9CY6MWRA54CUSSS5UM"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM · HTTP 200
We sent
GET /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM
No body shown for this read.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": "QT-9QSB9U9C-0001-1",
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_YB37IWK92NU6PDYQ",
"created": 1792253689,
"expires_at": 1794845689,
"status": "open",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": 1792253690
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_9QSB9U9CY6MWRA54CUSSS5UM"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A non-approver cannot release a discounted quote
approve_by_stranger_refusedWhat we probed
A non-approver cannot release a discounted quote
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocationsPOST /invocations
Expected vs actual
- Expected
- A non-approver cannot release a discounted quote
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_by_stranger_refused"
}
}Server returned
HTTP 200
{
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_by_stranger_refused"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 167
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 150
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 145
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "665442119284",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:52.843Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8MKNVH1GVY4C6Z42",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:53.135Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:53.275Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17HDIN9X39.PXBVEX",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:53.431Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:53.433Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:52.409Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:52.578Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:52.580Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:52.843Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:53.136Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:53.275Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:53.431Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:53.433Z",
"msg": "awaiting approval"
}
],
"createdAt": "2026-10-17T16:14:52.409Z",
"updatedAt": "2026-10-17T16:14:53.433Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "495",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_by_stranger_refused"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03POST /invocations403
We sent
POST /invocations
{
"action": "decide",
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_SDR"
}Server returned
HTTP 403
{
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_by_stranger_refused"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 167
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 150
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 145
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "665442119284",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:52.843Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8MKNVH1GVY4C6Z42",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:53.135Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:53.275Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17HDIN9X39.PXBVEX",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:53.431Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:53.433Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:52.409Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:52.578Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:52.580Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:52.843Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:53.136Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:53.275Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:53.431Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:53.433Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:53.630Z",
"msg": "decision by U_SDR refused: not an approver"
}
],
"createdAt": "2026-10-17T16:14:52.409Z",
"updatedAt": "2026-10-17T16:14:53.630Z",
"result": "forbidden"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "131",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "decide",
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_SDR"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_by_stranger_refused"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 167
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 150
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 145
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "665442119284",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:52.843Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8MKNVH1GVY4C6Z42",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:53.135Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:53.275Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17HDIN9X39.PXBVEX",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:53.431Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:53.433Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:52.409Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:52.578Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:52.580Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:52.843Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:53.136Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:53.275Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:53.431Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:53.433Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:53.630Z",
"msg": "decision by U_SDR refused: not an approver"
}
],
"createdAt": "2026-10-17T16:14:52.409Z",
"updatedAt": "2026-10-17T16:14:53.630Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_by_stranger_refused"
}
}Server returned
HTTP 200
{
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_by_stranger_refused"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 167
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 150
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 145
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "665442119284",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:52.843Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8MKNVH1GVY4C6Z42",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:53.135Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:53.275Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17HDIN9X39.PXBVEX",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:53.431Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:53.433Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:52.409Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:52.578Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:52.580Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:52.843Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:53.136Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:53.275Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:53.431Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:53.433Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:53.630Z",
"msg": "decision by U_SDR refused: not an approver"
},
{
"at": "2026-10-17T16:14:54.122Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:52.409Z",
"updatedAt": "2026-10-17T16:14:54.122Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "495",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_by_stranger_refused"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
06POST /invocations403
We sent
POST /invocations
{
"action": "decide",
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_SDR"
}Server returned
HTTP 403
{
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_by_stranger_refused"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 167
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 150
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 145
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "665442119284",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:52.843Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8MKNVH1GVY4C6Z42",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:53.135Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:53.275Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17HDIN9X39.PXBVEX",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:53.431Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:53.433Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:52.409Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:52.578Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:52.580Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:52.843Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:53.136Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:53.275Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:53.431Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:53.433Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:53.630Z",
"msg": "decision by U_SDR refused: not an approver"
},
{
"at": "2026-10-17T16:14:54.122Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:14:54.311Z",
"msg": "decision by U_SDR refused: not an approver"
}
],
"createdAt": "2026-10-17T16:14:52.409Z",
"updatedAt": "2026-10-17T16:14:54.311Z",
"result": "forbidden"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "131",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "decide",
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_SDR"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
07GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "approve_by_stranger_refused"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 167
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 150
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 145
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "665442119284",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:52.843Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8MKNVH1GVY4C6Z42",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:53.135Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:53.275Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17HDIN9X39.PXBVEX",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:53.431Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:53.433Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:52.409Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:52.578Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:52.580Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:52.843Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:53.136Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:53.275Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:53.431Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:53.433Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:53.630Z",
"msg": "decision by U_SDR refused: not an approver"
},
{
"at": "2026-10-17T16:14:54.122Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:14:54.311Z",
"msg": "decision by U_SDR refused: not an approver"
}
],
"createdAt": "2026-10-17T16:14:52.409Z",
"updatedAt": "2026-10-17T16:14:54.311Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
approve_by_stranger_refusedApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
A non-approver cannot release a discounted quote
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (10)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-cfca2d"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-d4acd9"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "247",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "247",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "665442119284",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "160",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/customers · HTTP 200
We sent
POST /v1/customers
{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}Server returned
HTTP 200
{
"address": null,
"balance": 0,
"business_name": "Sample Business",
"cash_balance": null,
"created": 49,
"currency": "USD",
"customer_account": null,
"default_source": null,
"delinquent": false,
"description": null,
"discount": null,
"email": "[email protected]",
"id": "cus_8MKNVH1GVY4C6Z42",
"individual_name": "Sample Individual",
"invoice_prefix": null,
"livemode": false,
"name": "Hank Scorpio",
"object": "customer",
"phone": "+14155550100",
"preferred_locales": null,
"shipping": null,
"tax_exempt": "exempt",
"test_clock": null,
"metadata": {
"company": "Globex"
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"content-length": "98",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes · HTTP 200
We sent
POST /v1/quotes
{
"customer": "cus_8MKNVH1GVY4C6Z42",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_8MKNVH1GVY4C6Z42",
"created": 1792253693,
"expires_at": 1794845693,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes
{
"host": "fetchsandbox.com",
"content-length": "310",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"customer": "cus_8MKNVH1GVY4C6Z42",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_79de858d695f4cdfad5f25d37c",
"client_msg_id": "cli_f690a6385ef04b5a8d0bfc9de6",
"name": "item-28f573",
"old_name": "Sample Old",
"parent_user_id": "par_a80c15ae061b4a19bca31d726d",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17HDIN9X39.PXBVEX"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "221",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Rejecting leaves the quote in draft and sends nothing
rejectWhat we probed
Rejecting leaves the quote in draft and sends nothing
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocationsPOST /invocations
Expected vs actual
- Expected
- Rejecting leaves the quote in draft and sends nothing
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "reject"
}
}Server returned
HTTP 200
{
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "reject"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 197
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 163
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 183
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "565624738093",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.428Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8T9CHFTN2S1GQLIE",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.708Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:55.845Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BH2UMM0R.59KLS4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:55.990Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:55.991Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:54.974Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:55.173Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:55.176Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:55.428Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:55.708Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:55.845Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:55.990Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:55.991Z",
"msg": "awaiting approval"
}
],
"createdAt": "2026-10-17T16:14:54.974Z",
"updatedAt": "2026-10-17T16:14:55.991Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "432",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "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.
03POST /invocations200
We sent
POST /invocations
{
"action": "decide",
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "reject",
"userId": "U_RVP_SALES"
}Server returned
HTTP 200
{
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "REJECTED",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "reject"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 197
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 163
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 183
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "565624738093",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.428Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8T9CHFTN2S1GQLIE",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.708Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:55.845Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "rejected",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "rejected",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BH2UMM0R.59KLS4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:55.990Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 2
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:55.991Z",
"decision": "reject",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:56.169Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:54.974Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:55.173Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:55.176Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:55.428Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:55.708Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:55.845Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:55.990Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:55.991Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:56.169Z",
"msg": "rejected by U_RVP_SALES"
}
],
"createdAt": "2026-10-17T16:14:54.974Z",
"updatedAt": "2026-10-17T16:14:56.169Z",
"result": "recorded"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "115",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "decide",
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "reject",
"userId": "U_RVP_SALES"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "REJECTED",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "reject"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 197
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 163
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 183
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "565624738093",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.428Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8T9CHFTN2S1GQLIE",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.708Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:55.845Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "rejected",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "rejected",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BH2UMM0R.59KLS4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:55.990Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 2
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:55.991Z",
"decision": "reject",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:56.169Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:54.974Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:55.173Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:55.176Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:55.428Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:55.708Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:55.845Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:55.990Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:55.991Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:56.169Z",
"msg": "rejected by U_RVP_SALES"
}
],
"createdAt": "2026-10-17T16:14:54.974Z",
"updatedAt": "2026-10-17T16:14:56.169Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "reject"
}
}Server returned
HTTP 200
{
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "REJECTED",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "reject"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 197
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 163
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 183
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "565624738093",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.428Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8T9CHFTN2S1GQLIE",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.708Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:55.845Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "rejected",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "rejected",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BH2UMM0R.59KLS4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:55.990Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 2
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:55.991Z",
"decision": "reject",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:56.169Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:54.974Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:55.173Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:55.176Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:55.428Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:55.708Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:55.845Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:55.990Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:55.991Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:56.169Z",
"msg": "rejected by U_RVP_SALES"
},
{
"at": "2026-10-17T16:14:56.669Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:54.974Z",
"updatedAt": "2026-10-17T16:14:56.669Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "432",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "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.
06POST /invocations200
We sent
POST /invocations
{
"action": "decide",
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "reject",
"userId": "U_RVP_SALES"
}Server returned
HTTP 200
{
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "REJECTED",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "reject"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 197
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 163
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 183
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "565624738093",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.428Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8T9CHFTN2S1GQLIE",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.708Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:55.845Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "rejected",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "rejected",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BH2UMM0R.59KLS4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:55.990Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 2
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:55.991Z",
"decision": "reject",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:56.169Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:54.974Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:55.173Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:55.176Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:55.428Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:55.708Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:55.845Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:55.990Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:55.991Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:56.169Z",
"msg": "rejected by U_RVP_SALES"
},
{
"at": "2026-10-17T16:14:56.669Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:54.974Z",
"updatedAt": "2026-10-17T16:14:56.855Z",
"result": "already_decided"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "115",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "decide",
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "reject",
"userId": "U_RVP_SALES"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
07GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "REJECTED",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "reject"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 197
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 163
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 183
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "565624738093",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.428Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_8T9CHFTN2S1GQLIE",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:55.708Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:55.845Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "rejected",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "rejected",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BH2UMM0R.59KLS4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:55.990Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 2
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:14:55.991Z",
"decision": "reject",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:14:56.169Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:14:54.974Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:55.173Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:55.176Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:14:55.428Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:55.708Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:55.845Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:55.990Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:55.991Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:14:56.169Z",
"msg": "rejected by U_RVP_SALES"
},
{
"at": "2026-10-17T16:14:56.669Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:54.974Z",
"updatedAt": "2026-10-17T16:14:56.855Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
rejectApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
Rejecting leaves the quote in draft and sends nothing
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (10)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-3a32ce"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-da83f3"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "226",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "226",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "565624738093",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "139",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/customers · HTTP 200
We sent
POST /v1/customers
{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}Server returned
HTTP 200
{
"address": null,
"balance": 0,
"business_name": "Sample Business",
"cash_balance": null,
"created": 21,
"currency": "USD",
"customer_account": null,
"default_source": null,
"delinquent": false,
"description": null,
"discount": null,
"email": "[email protected]",
"id": "cus_8T9CHFTN2S1GQLIE",
"individual_name": "Sample Individual",
"invoice_prefix": null,
"livemode": false,
"name": "Hank Scorpio",
"object": "customer",
"phone": "+14155550100",
"preferred_locales": null,
"shipping": null,
"tax_exempt": "exempt",
"test_clock": null,
"metadata": {
"company": "Globex"
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"content-length": "77",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes · HTTP 200
We sent
POST /v1/quotes
{
"customer": "cus_8T9CHFTN2S1GQLIE",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_8T9CHFTN2S1GQLIE",
"created": 1792253695,
"expires_at": 1794845695,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_9H52DQPWRDR8IYH5G7Y5X49W"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes
{
"host": "fetchsandbox.com",
"content-length": "289",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"customer": "cus_8T9CHFTN2S1GQLIE",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_55be2199442e48379d53aa6ade",
"client_msg_id": "cli_d41e80e6bd5c4f038494c44c83",
"name": "item-bfc68a",
"old_name": "Sample Old",
"parent_user_id": "par_a185608f6d304909a2ce559405",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17BH2UMM0R.59KLS4"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "200",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A 40% request is declined in code: quoted at list price, finalized without approval
discount_over_policy_declinedWhat we probed
A 40% request is declined in code: quoted at list price, finalized without approval
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- A 40% request is declined in code: quoted at list price, finalized without approval
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 40,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "discount_over_policy_declined"
}
}Server returned
HTTP 200
{
"runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "discount_over_policy_declined"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 157
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 160
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 156
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (declined)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "163843785545",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:57.920Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_ZBQOC0K2TZND2HNW",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:58.178Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "declined"
},
"attempts": 1,
"ref": "qt_1KEELQC1KC290NB0H79V711G",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:58.313Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 40,
"total": "$980.00",
"policy": "declined"
},
"attempts": 1,
"ref": "qt_1KEELQC1KC290NB0H79V711G",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:58.570Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "e1ac44de-824c-439a-8186-ce16348ec734",
"appliedAt": "2026-10-17T16:14:58.701Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "declined"
},
"attempts": 1,
"ref": "176P0UD0IM.E0QGIR",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:58.851Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "declined"
},
"events": [
{
"at": "2026-10-17T16:14:57.503Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:57.667Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:57.671Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:14:57.921Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:58.178Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:58.313Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:58.570Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:58.702Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:58.851Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:58.852Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:14:57.503Z",
"updatedAt": "2026-10-17T16:14:58.852Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "480",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 40,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "discount_over_policy_declined"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "discount_over_policy_declined"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 157
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 160
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 156
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (declined)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "163843785545",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:57.920Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_ZBQOC0K2TZND2HNW",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:58.178Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "declined"
},
"attempts": 1,
"ref": "qt_1KEELQC1KC290NB0H79V711G",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:58.313Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 40,
"total": "$980.00",
"policy": "declined"
},
"attempts": 1,
"ref": "qt_1KEELQC1KC290NB0H79V711G",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:58.570Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "e1ac44de-824c-439a-8186-ce16348ec734",
"appliedAt": "2026-10-17T16:14:58.701Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "declined"
},
"attempts": 1,
"ref": "176P0UD0IM.E0QGIR",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:58.851Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "declined"
},
"events": [
{
"at": "2026-10-17T16:14:57.503Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:57.667Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:57.671Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:14:57.921Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:58.178Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:58.313Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:58.570Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:58.702Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:58.851Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:58.852Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:14:57.503Z",
"updatedAt": "2026-10-17T16:14:58.852Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 40,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "discount_over_policy_declined"
}
}Server returned
HTTP 200
{
"runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "discount_over_policy_declined"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 157
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 160
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 156
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (declined)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "163843785545",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:57.920Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_ZBQOC0K2TZND2HNW",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:58.178Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "declined"
},
"attempts": 1,
"ref": "qt_1KEELQC1KC290NB0H79V711G",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:58.313Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 40,
"total": "$980.00",
"policy": "declined"
},
"attempts": 1,
"ref": "qt_1KEELQC1KC290NB0H79V711G",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:58.570Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "e1ac44de-824c-439a-8186-ce16348ec734",
"appliedAt": "2026-10-17T16:14:58.701Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "declined"
},
"attempts": 1,
"ref": "176P0UD0IM.E0QGIR",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:58.851Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "declined"
},
"events": [
{
"at": "2026-10-17T16:14:57.503Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:57.667Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:57.671Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:14:57.921Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:58.178Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:58.313Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:58.570Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:58.702Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:58.851Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:58.852Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:14:59.312Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:57.503Z",
"updatedAt": "2026-10-17T16:14:59.312Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "480",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 40,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "discount_over_policy_declined"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "discount_over_policy_declined"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 157
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 160
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 156
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (declined)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "163843785545",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:57.920Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_ZBQOC0K2TZND2HNW",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:14:58.178Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "declined"
},
"attempts": 1,
"ref": "qt_1KEELQC1KC290NB0H79V711G",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:14:58.313Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 40,
"total": "$980.00",
"policy": "declined"
},
"attempts": 1,
"ref": "qt_1KEELQC1KC290NB0H79V711G",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:14:58.570Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "e1ac44de-824c-439a-8186-ce16348ec734",
"appliedAt": "2026-10-17T16:14:58.701Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "declined"
},
"attempts": 1,
"ref": "176P0UD0IM.E0QGIR",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:14:58.851Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "declined"
},
"events": [
{
"at": "2026-10-17T16:14:57.503Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:14:57.667Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:14:57.671Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:14:57.921Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:14:58.178Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:14:58.313Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:14:58.570Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:14:58.702Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:14:58.851Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:14:58.852Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:14:59.312Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:14:57.503Z",
"updatedAt": "2026-10-17T16:14:59.312Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
discount_over_policy_declinedApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
A 40% request is declined in code: quoted at list price, finalized without approval
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (13)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-c63afd"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-20da6d"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "228",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "228",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "163843785545",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "141",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/customers · HTTP 200
We sent
POST /v1/customers
{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}Server returned
HTTP 200
{
"address": null,
"balance": 0,
"business_name": "Sample Business",
"cash_balance": null,
"created": 12,
"currency": "USD",
"customer_account": null,
"default_source": null,
"delinquent": false,
"description": null,
"discount": null,
"email": "[email protected]",
"id": "cus_ZBQOC0K2TZND2HNW",
"individual_name": "Sample Individual",
"invoice_prefix": null,
"livemode": false,
"name": "Hank Scorpio",
"object": "customer",
"phone": "+14155550100",
"preferred_locales": null,
"shipping": null,
"tax_exempt": "exempt",
"test_clock": null,
"metadata": {
"company": "Globex"
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"content-length": "79",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes · HTTP 200
We sent
POST /v1/quotes
{
"customer": "cus_ZBQOC0K2TZND2HNW",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "declined",
"quoted_total_minor": "98000"
}
}Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_ZBQOC0K2TZND2HNW",
"created": 1792253698,
"expires_at": 1794845698,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "declined",
"quoted_total_minor": "98000"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_1KEELQC1KC290NB0H79V711G"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes
{
"host": "fetchsandbox.com",
"content-length": "311",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"customer": "cus_ZBQOC0K2TZND2HNW",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "declined",
"quoted_total_minor": "98000"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/quotes/qt_1KEELQC1KC290NB0H79V711G · HTTP 200
We sent
GET /v1/quotes/qt_1KEELQC1KC290NB0H79V711G
No body shown for this read.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_ZBQOC0K2TZND2HNW",
"created": 1792253698,
"expires_at": 1794845698,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "declined",
"quoted_total_minor": "98000"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_1KEELQC1KC290NB0H79V711G"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_1KEELQC1KC290NB0H79V711G
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_1KEELQC1KC290NB0H79V711G' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes/qt_1KEELQC1KC290NB0H79V711G/finalize · HTTP 200
We sent
POST /v1/quotes/qt_1KEELQC1KC290NB0H79V711G/finalize
No body was saved. This receipt cannot tell whether it was empty or not captured.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": "QT-1KEELQC1-0001-1",
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_ZBQOC0K2TZND2HNW",
"created": 1792253698,
"expires_at": 1794845698,
"status": "open",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "declined",
"quoted_total_minor": "98000"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": 1792253698
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_1KEELQC1KC290NB0H79V711G"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_1KEELQC1KC290NB0H79V711G/finalize
{
"host": "fetchsandbox.com",
"content-length": "0",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_1KEELQC1KC290NB0H79V711G/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
gmail · POST /gmail/v1/users/me/drafts · HTTP 200
We sent
POST /gmail/v1/users/me/drafts
{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtZGVjbGluZWRAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDgyMzljZTE1Y2QyNjMwOGYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApUb3RhbDogJDk4MC4wMAoKV2UgY2FuJ3Qgb2ZmZXIgdGhlIDQwJSBkaXNjb3VudCByZXF1ZXN0ZWQsIHNvIHRoaXMgcXVvdGUgaXMgYXQgbGlzdCBwcmljZTsgaGFwcHkgdG8gZGlzY3VzcyB2b2x1bWUgcHJpY2luZyBvbiBhIGNhbGwuCgpUaGUgQUNNRSBzYWxlcyB0ZWFt"
},
"user_id": "me"
}Server returned
HTTP 200
{
"id": "e1ac44de-824c-439a-8186-ce16348ec734",
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtZGVjbGluZWRAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDgyMzljZTE1Y2QyNjMwOGYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApUb3RhbDogJDk4MC4wMAoKV2UgY2FuJ3Qgb2ZmZXIgdGhlIDQwJSBkaXNjb3VudCByZXF1ZXN0ZWQsIHNvIHRoaXMgcXVvdGUgaXMgYXQgbGlzdCBwcmljZTsgaGFwcHkgdG8gZGlzY3VzcyB2b2x1bWUgcHJpY2luZyBvbiBhIGNhbGwuCgpUaGUgQUNNRSBzYWxlcyB0ZWFt"
},
"user_id": "me"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts
{
"host": "fetchsandbox.com",
"content-length": "642",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtZGVjbGluZWRAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDgyMzljZTE1Y2QyNjMwOGYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApUb3RhbDogJDk4MC4wMAoKV2UgY2FuJ3Qgb2ZmZXIgdGhlIDQwJSBkaXNjb3VudCByZXF1ZXN0ZWQsIHNvIHRoaXMgcXVvdGUgaXMgYXQgbGlzdCBwcmljZTsgaGFwcHkgdG8gZGlzY3VzcyB2b2x1bWUgcHJpY2luZyBvbiBhIGNhbGwuCgpUaGUgQUNNRSBzYWxlcyB0ZWFt"
},
"user_id": "me"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Requested 40% declined; quoted at list.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_14b262d6424648879d87c54cdc",
"client_msg_id": "cli_564604a9b8e6466ebd58cb354d",
"name": "item-5351c5",
"old_name": "Sample Old",
"parent_user_id": "par_6c66ef9fca994372bdf998e451",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "176P0UD0IM.E0QGIR"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "186",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Requested 40% declined; quoted at list.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
An unknown part creates no quote; Sales is asked to price it
unknown_part_manual_pricingWhat we probed
An unknown part creates no quote; Sales is asked to price it
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- An unknown part creates no quote; Sales is asked to price it
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Flux Capacitor",
"quantity": 2
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "unknown_part_manual_pricing"
}
}Server returned
HTTP 200
{
"runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "unknown_part_manual_pricing"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "0 line(s) priced, unknown: Flux Capacitor",
"durationMs": 334
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 323
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 339
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$0.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "557273359276",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:00.754Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "179ANCDTR7.VFWNGV",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:00.923Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 0,
"quotable": false,
"unknownParts": [
"Flux Capacitor"
],
"subtotalMinor": 0,
"discountPct": 20,
"totalMinor": 0,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:00.017Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:00.360Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:00.364Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:00.754Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:00.923Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:00.924Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:15:00.017Z",
"updatedAt": "2026-10-17T16:15:00.924Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "485",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Flux Capacitor",
"quantity": 2
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "unknown_part_manual_pricing"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "unknown_part_manual_pricing"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "0 line(s) priced, unknown: Flux Capacitor",
"durationMs": 334
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 323
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 339
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$0.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "557273359276",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:00.754Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "179ANCDTR7.VFWNGV",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:00.923Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 0,
"quotable": false,
"unknownParts": [
"Flux Capacitor"
],
"subtotalMinor": 0,
"discountPct": 20,
"totalMinor": 0,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:00.017Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:00.360Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:00.364Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:00.754Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:00.923Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:00.924Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:15:00.017Z",
"updatedAt": "2026-10-17T16:15:00.924Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Flux Capacitor",
"quantity": 2
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "unknown_part_manual_pricing"
}
}Server returned
HTTP 200
{
"runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "unknown_part_manual_pricing"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "0 line(s) priced, unknown: Flux Capacitor",
"durationMs": 334
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 323
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 339
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$0.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "557273359276",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:00.754Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "179ANCDTR7.VFWNGV",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:00.923Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 0,
"quotable": false,
"unknownParts": [
"Flux Capacitor"
],
"subtotalMinor": 0,
"discountPct": 20,
"totalMinor": 0,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:00.017Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:00.360Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:00.364Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:00.754Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:00.923Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:00.924Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:01.586Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:00.017Z",
"updatedAt": "2026-10-17T16:15:01.586Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "485",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Flux Capacitor",
"quantity": 2
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "unknown_part_manual_pricing"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "unknown_part_manual_pricing"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "0 line(s) priced, unknown: Flux Capacitor",
"durationMs": 334
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 323
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 339
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$0.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "557273359276",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:00.754Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "179ANCDTR7.VFWNGV",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:00.923Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 0,
"quotable": false,
"unknownParts": [
"Flux Capacitor"
],
"subtotalMinor": 0,
"discountPct": 20,
"totalMinor": 0,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:00.017Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:00.360Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:00.364Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:00.754Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:00.923Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:00.924Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:01.586Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:00.017Z",
"updatedAt": "2026-10-17T16:15:01.586Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
unknown_part_manual_pricingApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
An unknown part creates no quote; Sales is asked to price it
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (7)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-a6b721"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-eaf1b8"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "232",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "232",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "557273359276",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "145",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: unknown part(s) Flux Capacitor.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_c741999a4d254001a6c2e0a979",
"client_msg_id": "cli_947aa582348f426abc64013e62",
"name": "item-df8f84",
"old_name": "Sample Old",
"parent_user_id": "par_a4a8089993ef4cfcbd4682118e",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "179ANCDTR7.VFWNGV"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "187",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: unknown part(s) Flux Capacitor.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Monthly and yearly lines in one RFQ go to Sales instead of a quote Stripe would reject
mixed_terms_manual_pricingWhat we probed
Monthly and yearly lines in one RFQ go to Sales instead of a quote Stripe would reject
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- Monthly and yearly lines in one RFQ go to Sales instead of a quote Stripe would reject
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 5
},
{
"product": "Enterprise Plan",
"quantity": 1
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "mixed_terms_manual_pricing"
}
}Server returned
HTTP 200
{
"runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "mixed_terms_manual_pricing"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "2 line(s) priced",
"durationMs": 427
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 433
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 460
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$1,795.20 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "187485716691",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:03.657Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "172TJFRS3W.0PUY29",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:03.855Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 2,
"quotable": false,
"unknownParts": [],
"subtotalMinor": 224400,
"discountPct": 20,
"totalMinor": 179520,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:02.805Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:03.268Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:03.272Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:03.657Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:03.855Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:03.856Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:15:02.805Z",
"updatedAt": "2026-10-17T16:15:03.856Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "519",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 5
},
{
"product": "Enterprise Plan",
"quantity": 1
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "mixed_terms_manual_pricing"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "mixed_terms_manual_pricing"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "2 line(s) priced",
"durationMs": 427
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 433
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 460
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$1,795.20 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "187485716691",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:03.657Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "172TJFRS3W.0PUY29",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:03.855Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 2,
"quotable": false,
"unknownParts": [],
"subtotalMinor": 224400,
"discountPct": 20,
"totalMinor": 179520,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:02.805Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:03.268Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:03.272Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:03.657Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:03.855Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:03.856Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:15:02.805Z",
"updatedAt": "2026-10-17T16:15:03.856Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 5
},
{
"product": "Enterprise Plan",
"quantity": 1
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "mixed_terms_manual_pricing"
}
}Server returned
HTTP 200
{
"runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "mixed_terms_manual_pricing"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "2 line(s) priced",
"durationMs": 427
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 433
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 460
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$1,795.20 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "187485716691",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:03.657Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "172TJFRS3W.0PUY29",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:03.855Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 2,
"quotable": false,
"unknownParts": [],
"subtotalMinor": 224400,
"discountPct": 20,
"totalMinor": 179520,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:02.805Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:03.268Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:03.272Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:03.657Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:03.855Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:03.856Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:04.564Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:02.805Z",
"updatedAt": "2026-10-17T16:15:04.564Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "519",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 5
},
{
"product": "Enterprise Plan",
"quantity": 1
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "mixed_terms_manual_pricing"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "mixed_terms_manual_pricing"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "2 line(s) priced",
"durationMs": 427
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 433
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 460
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$1,795.20 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "187485716691",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:03.657Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "172TJFRS3W.0PUY29",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:03.855Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 2,
"quotable": false,
"unknownParts": [],
"subtotalMinor": 224400,
"discountPct": 20,
"totalMinor": 179520,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:02.805Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:03.268Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:03.272Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:03.657Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:03.855Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:03.856Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:04.564Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:02.805Z",
"updatedAt": "2026-10-17T16:15:04.564Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
mixed_terms_manual_pricingApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
Monthly and yearly lines in one RFQ go to Sales instead of a quote Stripe would reject
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (7)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-a03459"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-61b113"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "231",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "231",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "187485716691",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "144",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: mixed billing terms (month + year); split into separate quotes.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_5e41c1463a854418a0b5889531",
"client_msg_id": "cli_5f2c907571c94e89a0df43d92f",
"name": "item-0ca669",
"old_name": "Sample Old",
"parent_user_id": "par_33f58c2e015e48cd9c01262ee1",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "172TJFRS3W.0PUY29"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "218",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: mixed billing terms (month + year); split into separate quotes.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A re-delivered RFQ creates one quote
duplicate_startWhat we probed
A re-delivered RFQ creates one quote
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocationsPOST /invocations
Expected vs actual
- Expected
- A re-delivered RFQ creates one quote
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
}
}Server returned
HTTP 200
{
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 180
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 179
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 212
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "524044822198",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:05.838Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_6JZ7AXQFMVLIBB45",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:06.117Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:06.255Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:06.523Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b",
"appliedAt": "2026-10-17T16:15:06.662Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "17VTV582DB.MNTHDY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:06.794Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:05.362Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:05.577Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:05.581Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:05.838Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:06.118Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:06.256Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:06.523Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:06.662Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:06.794Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:06.795Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:15:05.362Z",
"updatedAt": "2026-10-17T16:15:06.795Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "458",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
}
}Server returned
HTTP 200
{
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 180
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 179
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 212
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "524044822198",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:05.838Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_6JZ7AXQFMVLIBB45",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:06.117Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:06.255Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:06.523Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b",
"appliedAt": "2026-10-17T16:15:06.662Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "17VTV582DB.MNTHDY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:06.794Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:05.362Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:05.577Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:05.581Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:05.838Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:06.118Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:06.256Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:06.523Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:06.662Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:06.794Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:06.795Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:06.984Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:05.362Z",
"updatedAt": "2026-10-17T16:15:06.984Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "458",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 180
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 179
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 212
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "524044822198",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:05.838Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_6JZ7AXQFMVLIBB45",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:06.117Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:06.255Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:06.523Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b",
"appliedAt": "2026-10-17T16:15:06.662Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "17VTV582DB.MNTHDY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:06.794Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:05.362Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:05.577Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:05.581Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:05.838Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:06.118Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:06.256Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:06.523Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:06.662Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:06.794Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:06.795Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:06.984Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:05.362Z",
"updatedAt": "2026-10-17T16:15:06.984Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
}
}Server returned
HTTP 200
{
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
},
"duplicateStarts": 2,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 180
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 179
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 212
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "524044822198",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:05.838Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_6JZ7AXQFMVLIBB45",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:06.117Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:06.255Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:06.523Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b",
"appliedAt": "2026-10-17T16:15:06.662Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "17VTV582DB.MNTHDY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:06.794Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:05.362Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:05.577Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:05.581Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:05.838Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:06.118Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:06.256Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:06.523Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:06.662Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:06.794Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:06.795Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:06.984Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:07.467Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:05.362Z",
"updatedAt": "2026-10-17T16:15:07.467Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "458",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
06POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
}
}Server returned
HTTP 200
{
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
},
"duplicateStarts": 3,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 180
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 179
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 212
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "524044822198",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:05.838Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_6JZ7AXQFMVLIBB45",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:06.117Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:06.255Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:06.523Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b",
"appliedAt": "2026-10-17T16:15:06.662Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "17VTV582DB.MNTHDY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:06.794Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:05.362Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:05.577Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:05.581Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:05.838Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:06.118Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:06.256Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:06.523Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:06.662Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:06.794Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:06.795Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:06.984Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:07.467Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:07.669Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:05.362Z",
"updatedAt": "2026-10-17T16:15:07.669Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "458",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
07GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "duplicate_start"
},
"duplicateStarts": 3,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 180
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 179
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 212
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "524044822198",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:05.838Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_6JZ7AXQFMVLIBB45",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:06.117Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:06.255Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_W395RQMQKCEC2UZBP6PP4HJK",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:06.523Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b",
"appliedAt": "2026-10-17T16:15:06.662Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "17VTV582DB.MNTHDY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:06.794Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:05.362Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:05.577Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:05.581Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:05.838Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:06.118Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:06.256Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:06.523Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:06.662Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:06.794Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:06.795Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:06.984Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:07.467Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:07.669Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:05.362Z",
"updatedAt": "2026-10-17T16:15:07.669Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
duplicate_startApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
A re-delivered RFQ creates one quote
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (13)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-aa31cf"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-66d8b0"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "235",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "235",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "524044822198",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "148",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/customers · HTTP 200
We sent
POST /v1/customers
{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}Server returned
HTTP 200
{
"address": null,
"balance": 0,
"business_name": "Sample Business",
"cash_balance": null,
"created": 39,
"currency": "USD",
"customer_account": null,
"default_source": null,
"delinquent": false,
"description": null,
"discount": null,
"email": "[email protected]",
"id": "cus_6JZ7AXQFMVLIBB45",
"individual_name": "Sample Individual",
"invoice_prefix": null,
"livemode": false,
"name": "Hank Scorpio",
"object": "customer",
"phone": "+14155550100",
"preferred_locales": null,
"shipping": null,
"tax_exempt": "exempt",
"test_clock": null,
"metadata": {
"company": "Globex"
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"content-length": "86",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes · HTTP 200
We sent
POST /v1/quotes
{
"customer": "cus_6JZ7AXQFMVLIBB45",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "auto",
"quoted_total_minor": "98000"
}
}Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_6JZ7AXQFMVLIBB45",
"created": 1792253706,
"expires_at": 1794845706,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "auto",
"quoted_total_minor": "98000"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_W395RQMQKCEC2UZBP6PP4HJK"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes
{
"host": "fetchsandbox.com",
"content-length": "293",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"customer": "cus_6JZ7AXQFMVLIBB45",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "auto",
"quoted_total_minor": "98000"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK · HTTP 200
We sent
GET /v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK
No body shown for this read.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_6JZ7AXQFMVLIBB45",
"created": 1792253706,
"expires_at": 1794845706,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "auto",
"quoted_total_minor": "98000"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_W395RQMQKCEC2UZBP6PP4HJK"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK/finalize · HTTP 200
We sent
POST /v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK/finalize
No body was saved. This receipt cannot tell whether it was empty or not captured.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": "QT-W395RQMQ-0001-1",
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_6JZ7AXQFMVLIBB45",
"created": 1792253706,
"expires_at": 1794845706,
"status": "open",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "auto",
"quoted_total_minor": "98000"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": 1792253706
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_W395RQMQKCEC2UZBP6PP4HJK"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK/finalize
{
"host": "fetchsandbox.com",
"content-length": "0",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
gmail · POST /gmail/v1/users/me/drafts · HTTP 200
We sent
POST /gmail/v1/users/me/drafts
{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtZHVwbGljYXRlLXN0YXJ0QGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDw0MGNiMGI1YzZmODlkMjMxLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKVG90YWw6ICQ5ODAuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0"
},
"user_id": "me"
}Server returned
HTTP 200
{
"id": "e950e0a9-04ba-474f-8d4e-467a07f7430b",
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtZHVwbGljYXRlLXN0YXJ0QGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDw0MGNiMGI1YzZmODlkMjMxLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKVG90YWw6ICQ5ODAuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0"
},
"user_id": "me"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts
{
"host": "fetchsandbox.com",
"content-length": "493",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtZHVwbGljYXRlLXN0YXJ0QGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDw0MGNiMGI1YzZmODlkMjMxLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKVG90YWw6ICQ5ODAuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0"
},
"user_id": "me"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Quote finalized.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_d2123bd12e4c45f28574d65b0d",
"client_msg_id": "cli_1464cc7b9e724142b648bcb045",
"name": "item-1c82a1",
"old_name": "Sample Old",
"parent_user_id": "par_1820c2b7499241b0b0eb022726",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17VTV582DB.MNTHDY"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "170",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Quote finalized.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Four more simultaneous deliveries create one Stripe customer and one quote
concurrent_startWhat we probed
Four more simultaneous deliveries create one Stripe customer and one quote
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocationsPOST /invocations· 4 concurrent calls, not sequential retries.
Expected vs actual
- Expected
- Four more simultaneous deliveries create one Stripe customer and one quote
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}Server returned
HTTP 200
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:09.776Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}Server returned
HTTP 200
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 3,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.148Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.254Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:10.254Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}Server returned
HTTP 200
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:10.028Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}Server returned
HTTP 200
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 2,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.148Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:10.148Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
06POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}Server returned
HTTP 200
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 4,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.148Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.254Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.386Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:10.386Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
07GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 4,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.148Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.254Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.386Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:10.386Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
08POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}Server returned
HTTP 200
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 5,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.148Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.254Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.386Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.906Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:10.906Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
09POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}Server returned
HTTP 200
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 9,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.148Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.254Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.386Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.906Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.135Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.270Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.379Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.502Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:11.502Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
10POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}Server returned
HTTP 200
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 8,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.148Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.254Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.386Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.906Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.135Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.270Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.379Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:11.379Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
11POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}Server returned
HTTP 200
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 6,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.148Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.254Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.386Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.906Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.135Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:11.135Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
12POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}Server returned
HTTP 200
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 7,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.148Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.254Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.386Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.906Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.135Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.270Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:11.270Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 0,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
13GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "concurrent_start"
},
"duplicateStarts": 9,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 182
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 169
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 130
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$980.00 at 0% (auto)",
"durationMs": 1
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "837874984419",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:08.812Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_4DG6BWGVQ8PG4533",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:09.095Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:09.235Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"discountPct": 0,
"requestedDiscountPct": 0,
"total": "$980.00",
"policy": "auto"
},
"attempts": 1,
"ref": "qt_WWVPEYH20URK11VVYVYE7CI4",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:09.500Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"appliedAt": "2026-10-17T16:15:09.639Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "auto"
},
"attempts": 1,
"ref": "179MEES6T1.S74BL4",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:09.774Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 0,
"totalMinor": 98000,
"policy": "auto"
},
"events": [
{
"at": "2026-10-17T16:15:08.349Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:08.533Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:08.536Z",
"msg": "planned 6 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:08.812Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:09.095Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:09.235Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:09.500Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:09.640Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:09.775Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:09.776Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:10.028Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.148Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.254Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.386Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:10.906Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.135Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.270Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.379Z",
"msg": "duplicate start ignored"
},
{
"at": "2026-10-17T16:15:11.502Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:08.349Z",
"updatedAt": "2026-10-17T16:15:11.502Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
concurrent_startApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
Four more simultaneous deliveries create one Stripe customer and one quote
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (13)
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.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "236",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-a9a985"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-afc02f"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "236",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "837874984419",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "149",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/customers · HTTP 200
We sent
POST /v1/customers
{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}Server returned
HTTP 200
{
"address": null,
"balance": 0,
"business_name": "Sample Business",
"cash_balance": null,
"created": 40,
"currency": "USD",
"customer_account": null,
"default_source": null,
"delinquent": false,
"description": null,
"discount": null,
"email": "[email protected]",
"id": "cus_4DG6BWGVQ8PG4533",
"individual_name": "Sample Individual",
"invoice_prefix": null,
"livemode": false,
"name": "Hank Scorpio",
"object": "customer",
"phone": "+14155550100",
"preferred_locales": null,
"shipping": null,
"tax_exempt": "exempt",
"test_clock": null,
"metadata": {
"company": "Globex"
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"content-length": "87",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes · HTTP 200
We sent
POST /v1/quotes
{
"customer": "cus_4DG6BWGVQ8PG4533",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "auto",
"quoted_total_minor": "98000"
}
}Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_4DG6BWGVQ8PG4533",
"created": 1792253709,
"expires_at": 1794845709,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "auto",
"quoted_total_minor": "98000"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_WWVPEYH20URK11VVYVYE7CI4"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes
{
"host": "fetchsandbox.com",
"content-length": "294",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"customer": "cus_4DG6BWGVQ8PG4533",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "auto",
"quoted_total_minor": "98000"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4 · HTTP 200
We sent
GET /v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4
No body shown for this read.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_4DG6BWGVQ8PG4533",
"created": 1792253709,
"expires_at": 1794845709,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "auto",
"quoted_total_minor": "98000"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_WWVPEYH20URK11VVYVYE7CI4"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4/finalize · HTTP 200
We sent
POST /v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4/finalize
No body was saved. This receipt cannot tell whether it was empty or not captured.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": "QT-WWVPEYH2-0001-1",
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_4DG6BWGVQ8PG4533",
"created": 1792253709,
"expires_at": 1794845709,
"status": "open",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "0",
"discount_policy": "auto",
"quoted_total_minor": "98000"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": 1792253709
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_WWVPEYH20URK11VVYVYE7CI4"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4/finalize
{
"host": "fetchsandbox.com",
"content-length": "0",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
gmail · POST /gmail/v1/users/me/drafts · HTTP 200
We sent
POST /gmail/v1/users/me/drafts
{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtY29uY3VycmVudC1zdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MjMwMzk4NzYzMWI0Y2M1Yi5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoClRvdGFsOiAkOTgwLjAwCgpUaGUgQUNNRSBzYWxlcyB0ZWFt"
},
"user_id": "me"
}Server returned
HTTP 200
{
"id": "6384d1ce-5d59-42ac-b978-83ea1465f8f9",
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtY29uY3VycmVudC1zdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MjMwMzk4NzYzMWI0Y2M1Yi5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoClRvdGFsOiAkOTgwLjAwCgpUaGUgQUNNRSBzYWxlcyB0ZWFt"
},
"user_id": "me"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts
{
"host": "fetchsandbox.com",
"content-length": "494",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtY29uY3VycmVudC1zdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MjMwMzk4NzYzMWI0Y2M1Yi5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoClRvdGFsOiAkOTgwLjAwCgpUaGUgQUNNRSBzYWxlcyB0ZWFt"
},
"user_id": "me"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Quote finalized.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_6928873f2b2e4e66bf0d3cde6f",
"client_msg_id": "cli_74c5377c52364dc687c06a4a4e",
"name": "item-ebc4dd",
"old_name": "Sample Old",
"parent_user_id": "par_47a4020119704ecf9f2e2e5672",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "179MEES6T1.S74BL4"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "171",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Quote finalized.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A zero quantity is rejected before any agent runs
invalid_input_rejectedWhat we probed
A zero quantity is rejected before any agent runs
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- A zero quantity is rejected before any agent runs
- Actual
- expected exactly 0, found 0; stable under 2 repeats (0)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations400
We sent
POST /invocations
{
"action": "start",
"runId": "invalid-input-rejected-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 0
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "invalid_input_rejected"
}
}Server returned
HTTP 400
{
"error": "invalid input",
"issues": [
"lines.0.quantity: Too small: expected number to be >=1"
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "464",
"content-type": "application/json"
}{
"content-type": "application/json",
"content-length": "93"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "invalid-input-rejected-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 0
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "invalid_input_rejected"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations400
We sent
POST /invocations
{
"action": "start",
"runId": "invalid-input-rejected-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 0
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "invalid_input_rejected"
}
}Server returned
HTTP 400
{
"error": "invalid input",
"issues": [
"lines.0.quantity: Too small: expected number to be >=1"
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "464",
"content-type": "application/json"
}{
"content-type": "application/json",
"content-length": "93"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "invalid-input-rejected-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 0
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "invalid_input_rejected"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
invalid_input_rejectedApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
A zero quantity is rejected before any agent runs
expected exactly 0, found 0; stable under 2 repeats (0)
- 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.
Stripe rate limiting past retries: no quote is attempted, Sales is told to price manually
stripe_rate_limitedWhat we probed
Stripe rate limiting past retries: no quote is attempted, Sales is told to price manually
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
Declared stripe fault: rate_limited.
POST /invocations
Expected vs actual
- Expected
- Stripe rate limiting past retries: no quote is attempted, Sales is told to price manually
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "stripe_rate_limited"
}
}Server returned
HTTP 200
{
"runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "stripe_rate_limited"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "failed",
"error": "stripe 429 rate_limit: GET /v1/products → 429 rate_limit",
"errorCode": "stripe:rate_limit",
"durationMs": 786
},
{
"name": "customer-lookup",
"status": "failed",
"error": "stripe 429 rate_limit: GET /v1/customers → 429 rate_limit",
"errorCode": "stripe:rate_limit",
"durationMs": 677
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 175
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$0.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "955310211961",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:14.348Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "17LCQ3PN5C.2JRSEM",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:14.504Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 0,
"quotable": false,
"unknownParts": [],
"subtotalMinor": 0,
"discountPct": 20,
"totalMinor": 0,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:13.305Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:14.093Z",
"msg": "agents: catalog-pricing=failed, customer-lookup=failed, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:14.096Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:14.348Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:14.504Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:14.505Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-17T16:15:13.305Z",
"updatedAt": "2026-10-17T16:15:14.506Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "471",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "stripe_rate_limited"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03stripe · GET /v1/products429
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04stripe · GET /v1/prices429
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05stripe · GET /v1/products429
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
06stripe · GET /v1/customers429
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
07stripe · GET /v1/prices429
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
08stripe · GET /v1/customers429
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
09stripe · GET /v1/customers429
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
10stripe · GET /v1/products429
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
11stripe · GET /v1/prices429
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
12GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "stripe_rate_limited"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "failed",
"error": "stripe 429 rate_limit: GET /v1/products → 429 rate_limit",
"errorCode": "stripe:rate_limit",
"durationMs": 786
},
{
"name": "customer-lookup",
"status": "failed",
"error": "stripe 429 rate_limit: GET /v1/customers → 429 rate_limit",
"errorCode": "stripe:rate_limit",
"durationMs": 677
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 175
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$0.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "955310211961",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:14.348Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "17LCQ3PN5C.2JRSEM",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:14.504Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 0,
"quotable": false,
"unknownParts": [],
"subtotalMinor": 0,
"discountPct": 20,
"totalMinor": 0,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:13.305Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:14.093Z",
"msg": "agents: catalog-pricing=failed, customer-lookup=failed, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:14.096Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:14.348Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:14.504Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:14.505Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-17T16:15:13.305Z",
"updatedAt": "2026-10-17T16:15:14.506Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
13POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "stripe_rate_limited"
}
}Server returned
HTTP 200
{
"runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "stripe_rate_limited"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "failed",
"error": "stripe 429 rate_limit: GET /v1/products → 429 rate_limit",
"errorCode": "stripe:rate_limit",
"durationMs": 786
},
{
"name": "customer-lookup",
"status": "failed",
"error": "stripe 429 rate_limit: GET /v1/customers → 429 rate_limit",
"errorCode": "stripe:rate_limit",
"durationMs": 677
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 175
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$0.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "955310211961",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:14.348Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "17LCQ3PN5C.2JRSEM",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:14.504Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 0,
"quotable": false,
"unknownParts": [],
"subtotalMinor": 0,
"discountPct": 20,
"totalMinor": 0,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:13.305Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:14.093Z",
"msg": "agents: catalog-pricing=failed, customer-lookup=failed, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:14.096Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:14.348Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:14.504Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:14.505Z",
"msg": "done (partial)"
},
{
"at": "2026-10-17T16:15:14.991Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:13.305Z",
"updatedAt": "2026-10-17T16:15:14.991Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "471",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "stripe_rate_limited"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
14GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "stripe_rate_limited"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "failed",
"error": "stripe 429 rate_limit: GET /v1/products → 429 rate_limit",
"errorCode": "stripe:rate_limit",
"durationMs": 786
},
{
"name": "customer-lookup",
"status": "failed",
"error": "stripe 429 rate_limit: GET /v1/customers → 429 rate_limit",
"errorCode": "stripe:rate_limit",
"durationMs": 677
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 175
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$0.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "955310211961",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:14.348Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": false,
"policy": "approval"
},
"attempts": 1,
"ref": "17LCQ3PN5C.2JRSEM",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:14.504Z",
"reconciled": null
}
],
"counts": {
"applied": 2,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"output": {
"company": "Globex",
"pricedLines": 0,
"quotable": false,
"unknownParts": [],
"subtotalMinor": 0,
"discountPct": 20,
"totalMinor": 0,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:13.305Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:14.093Z",
"msg": "agents: catalog-pricing=failed, customer-lookup=failed, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:14.096Z",
"msg": "planned 2 action(s): 0 need approval"
},
{
"at": "2026-10-17T16:15:14.348Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:14.504Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:14.505Z",
"msg": "done (partial)"
},
{
"at": "2026-10-17T16:15:14.991Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:13.305Z",
"updatedAt": "2026-10-17T16:15:14.991Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
stripe_rate_limitedApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
Stripe rate limiting past retries: no quote is attempted, Sales is told to price manually
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (13)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/products · HTTP 429
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "239",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 429
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/products · HTTP 429
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 429
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 429
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 429
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 429
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/products · HTTP 429
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "239",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 429
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 429
{
"error": {
"type": "invalid_request_error",
"code": "rate_limit",
"doc_url": "https://stripe.com/docs/error-codes/rate-limit",
"message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests."
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "955310211961",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "152",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: catalog unavailable.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_219b3419b1304452aca585ca69",
"client_msg_id": "cli_de016f29721147029c7cccafbf",
"name": "item-b158f2",
"old_name": "Sample Old",
"parent_user_id": "par_b314fe23c7974378941e809343",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17LCQ3PN5C.2JRSEM"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "183",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: catalog unavailable.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
HubSpot auth failure skips the CRM update; quoting continues
hubspot_auth_failureWhat we probed
HubSpot auth failure skips the CRM update; quoting continues
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
Declared hubspot fault: auth_failure.
POST /invocations
Expected vs actual
- Expected
- HubSpot auth failure skips the CRM update; quoting continues
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "hubspot_auth_failure"
}
}Server returned
HTTP 200
{
"runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "hubspot_auth_failure"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 154
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 174
},
{
"name": "crm-lookup",
"status": "failed",
"error": "hubspot 401 unauthorized: POST /crm/v3/objects/contacts/search → 401 unauthorized",
"errorCode": "hubspot:unauthorized",
"durationMs": 170
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_2WW2Z4BCBWFSZPMX",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:16.094Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_IQ3ROXCFIXKE6N8RR0SFWJUO",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:16.233Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "171U4LKBPR.3Q1VS6",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:16.368Z",
"reconciled": null
}
],
"counts": {
"applied": 3,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:15:16.370Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:15.649Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:15.826Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=failed"
},
{
"at": "2026-10-17T16:15:15.829Z",
"msg": "planned 5 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:15:16.094Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:16.234Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:16.369Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:16.370Z",
"msg": "awaiting approval"
}
],
"createdAt": "2026-10-17T16:15:15.649Z",
"updatedAt": "2026-10-17T16:15:16.370Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "474",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "hubspot_auth_failure"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03hubspot · POST /crm/v3/objects/contacts/search401
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 401
{
"errors": [
{
"status": "401",
"code": "unauthorized",
"detail": "Invalid API key or expired credentials"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"content-length": "240",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST '<HUBSPOT_TWIN_BASE_URL>/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "hubspot_auth_failure"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 154
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 174
},
{
"name": "crm-lookup",
"status": "failed",
"error": "hubspot 401 unauthorized: POST /crm/v3/objects/contacts/search → 401 unauthorized",
"errorCode": "hubspot:unauthorized",
"durationMs": 170
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_2WW2Z4BCBWFSZPMX",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:16.094Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_IQ3ROXCFIXKE6N8RR0SFWJUO",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:16.233Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "171U4LKBPR.3Q1VS6",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:16.368Z",
"reconciled": null
}
],
"counts": {
"applied": 3,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:15:16.370Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:15.649Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:15.826Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=failed"
},
{
"at": "2026-10-17T16:15:15.829Z",
"msg": "planned 5 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:15:16.094Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:16.234Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:16.369Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:16.370Z",
"msg": "awaiting approval"
}
],
"createdAt": "2026-10-17T16:15:15.649Z",
"updatedAt": "2026-10-17T16:15:16.370Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "hubspot_auth_failure"
}
}Server returned
HTTP 200
{
"runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "hubspot_auth_failure"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 154
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 174
},
{
"name": "crm-lookup",
"status": "failed",
"error": "hubspot 401 unauthorized: POST /crm/v3/objects/contacts/search → 401 unauthorized",
"errorCode": "hubspot:unauthorized",
"durationMs": 170
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_2WW2Z4BCBWFSZPMX",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:16.094Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_IQ3ROXCFIXKE6N8RR0SFWJUO",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:16.233Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "171U4LKBPR.3Q1VS6",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:16.368Z",
"reconciled": null
}
],
"counts": {
"applied": 3,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:15:16.370Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:15.649Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:15.826Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=failed"
},
{
"at": "2026-10-17T16:15:15.829Z",
"msg": "planned 5 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:15:16.094Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:16.234Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:16.369Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:16.370Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:15:16.841Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:15.649Z",
"updatedAt": "2026-10-17T16:15:16.841Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "474",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "hubspot_auth_failure"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
06GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "hubspot_auth_failure"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 154
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 174
},
{
"name": "crm-lookup",
"status": "failed",
"error": "hubspot 401 unauthorized: POST /crm/v3/objects/contacts/search → 401 unauthorized",
"errorCode": "hubspot:unauthorized",
"durationMs": 170
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 1
}
],
"actions": [
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_2WW2Z4BCBWFSZPMX",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:16.094Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_IQ3ROXCFIXKE6N8RR0SFWJUO",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:16.233Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "171U4LKBPR.3Q1VS6",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:16.368Z",
"reconciled": null
}
],
"counts": {
"applied": 3,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:15:16.370Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:15.649Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:15.826Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=failed"
},
{
"at": "2026-10-17T16:15:15.829Z",
"msg": "planned 5 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:15:16.094Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:16.234Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:16.369Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:16.370Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:15:16.841Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:15.649Z",
"updatedAt": "2026-10-17T16:15:16.841Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
hubspot_auth_failureApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
HubSpot auth failure skips the CRM update; quoting continues
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (8)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-761b67"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-2e4b98"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 401
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 401
{
"errors": [
{
"status": "401",
"code": "unauthorized",
"detail": "Invalid API key or expired credentials"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "240",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/customers · HTTP 200
We sent
POST /v1/customers
{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}Server returned
HTTP 200
{
"address": null,
"balance": 0,
"business_name": "Sample Business",
"cash_balance": null,
"created": 21,
"currency": "USD",
"customer_account": null,
"default_source": null,
"delinquent": false,
"description": null,
"discount": null,
"email": "[email protected]",
"id": "cus_2WW2Z4BCBWFSZPMX",
"individual_name": "Sample Individual",
"invoice_prefix": null,
"livemode": false,
"name": "Hank Scorpio",
"object": "customer",
"phone": "+14155550100",
"preferred_locales": null,
"shipping": null,
"tax_exempt": "exempt",
"test_clock": null,
"metadata": {
"company": "Globex"
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"content-length": "91",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes · HTTP 200
We sent
POST /v1/quotes
{
"customer": "cus_2WW2Z4BCBWFSZPMX",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_2WW2Z4BCBWFSZPMX",
"created": 1792253716,
"expires_at": 1794845716,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_IQ3ROXCFIXKE6N8RR0SFWJUO"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes
{
"host": "fetchsandbox.com",
"content-length": "303",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"customer": "cus_2WW2Z4BCBWFSZPMX",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_48ba4f8611034757af8eca481c",
"client_msg_id": "cli_9e8bdb0906f8422eb9354f0631",
"name": "item-de44c7",
"old_name": "Sample Old",
"parent_user_id": "par_5a6d50fe56504f908b08004e3a",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "171U4LKBPR.3Q1VS6"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "214",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A discounted quote parked for approval survives a runtime restart and is finalized once approved
restart_while_parkedWhat we probed
A discounted quote parked for approval survives a runtime restart and is finalized once approved
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations- Declared adapter worker restart.
POST /invocations
Expected vs actual
- Expected
- A discounted quote parked for approval survives a runtime restart and is finalized once approved
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "restart_while_parked"
}
}Server returned
HTTP 200
{
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "AWAITING_APPROVAL",
"closed": false,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "restart_while_parked"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 384
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 164
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 164
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "238139491183",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.225Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_I8W8TUYI0VRD8VVY",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.531Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:18.670Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 0,
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "pending_approval",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 0,
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BUOHFRDQ.29G7JY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:18.808Z",
"reconciled": null
}
],
"counts": {
"applied": 4,
"failed": 0,
"pendingApproval": 2,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:15:18.810Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:17.579Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:17.966Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:17.969Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:15:18.225Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:18.531Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:18.670Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:18.809Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:18.810Z",
"msg": "awaiting approval"
}
],
"createdAt": "2026-10-17T16:15:17.579Z",
"updatedAt": "2026-10-17T16:15:18.810Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "restart_while_parked"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
repeated state reads (12)
03GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
06GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
07GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
08GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
09GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
10GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
11GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
12GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
13GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
14GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "ea199aa6-f659-410b-a951-7710e51a005d",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:14:42.306Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
15GET /verify/runtime502
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 502
Response body was not recorded.
HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "text/html; charset=UTF-8",
"content-length": "6418",
"retry-after": "60"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
16GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
17POST /invocations200
We sent
POST /invocations
{
"action": "decide",
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_RVP_SALES"
}Server returned
HTTP 200
{
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "restart_while_parked"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 384
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 164
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 164
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "238139491183",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.225Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_I8W8TUYI0VRD8VVY",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.531Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:18.670Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:25.101Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "fd4f681e-565f-4c06-918a-47a4450fdbf1",
"appliedAt": "2026-10-17T16:15:25.255Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BUOHFRDQ.29G7JY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:18.808Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:15:18.810Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:15:24.618Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:17.579Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:17.966Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:17.969Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:15:18.225Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:18.531Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:18.670Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:18.809Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:18.810Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:15:24.618Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:15:25.101Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:25.255Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:25.257Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:15:17.579Z",
"updatedAt": "2026-10-17T16:15:25.257Z",
"result": "recorded"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "130",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "decide",
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_RVP_SALES"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
18GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "restart_while_parked"
},
"duplicateStarts": 0,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 384
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 164
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 164
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "238139491183",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.225Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_I8W8TUYI0VRD8VVY",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.531Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:18.670Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:25.101Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "fd4f681e-565f-4c06-918a-47a4450fdbf1",
"appliedAt": "2026-10-17T16:15:25.255Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BUOHFRDQ.29G7JY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:18.808Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:15:18.810Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:15:24.618Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:17.579Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:17.966Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:17.969Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:15:18.225Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:18.531Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:18.670Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:18.809Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:18.810Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:15:24.618Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:15:25.101Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:25.255Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:25.257Z",
"msg": "done (ok)"
}
],
"createdAt": "2026-10-17T16:15:17.579Z",
"updatedAt": "2026-10-17T16:15:25.257Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
19POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "restart_while_parked"
}
}Server returned
HTTP 200
{
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "restart_while_parked"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 384
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 164
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 164
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "238139491183",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.225Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_I8W8TUYI0VRD8VVY",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.531Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:18.670Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:25.101Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "fd4f681e-565f-4c06-918a-47a4450fdbf1",
"appliedAt": "2026-10-17T16:15:25.255Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BUOHFRDQ.29G7JY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:18.808Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:15:18.810Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:15:24.618Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:17.579Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:17.966Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:17.969Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:15:18.225Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:18.531Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:18.670Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:18.809Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:18.810Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:15:24.618Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:15:25.101Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:25.255Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:25.257Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:25.742Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:17.579Z",
"updatedAt": "2026-10-17T16:15:25.742Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "461",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"input": {
"buyer": {
"email": "[email protected]",
"firstname": "Hank",
"lastname": "Scorpio"
},
"company": "Globex",
"lines": [
{
"product": "Pro Plan",
"quantity": 20
}
],
"requestedDiscountPct": 20,
"salesChannel": "C0GENERAL01",
"approvers": [
"U_RVP_SALES"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "restart_while_parked"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
repeated state reads (25)
20GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
21GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
22GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
23GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
24GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
25GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
26GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
27GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
28GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
29GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
30GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
31GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
32GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
33GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
34GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
35GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
36GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
37GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
38GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
39GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
40GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
41GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
42GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
43GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
44GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "a647ba7c-ae8b-4478-91ee-7b60224e3b71",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:24.329Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
45GET /verify/runtime502
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 502
Response body was not recorded.
HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "text/html; charset=UTF-8",
"content-length": "6418",
"retry-after": "60"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
46GET /verify/runtime502
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 502
Response body was not recorded.
HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "text/html; charset=UTF-8",
"content-length": "6418",
"retry-after": "60"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
47GET /verify/runtime200
We sent
GET /verify/runtime
This request had no body.
Server returned
HTTP 200
{
"instance_id": "d3b042d4-c545-4abf-be34-1aae14c52999",
"workflow": "rfq-quote",
"startedAt": "2026-10-17T16:15:37.112Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
48POST /invocations200
We sent
POST /invocations
{
"action": "decide",
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_RVP_SALES"
}Server returned
HTTP 200
{
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "restart_while_parked"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 384
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 164
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 164
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "238139491183",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.225Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_I8W8TUYI0VRD8VVY",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.531Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:18.670Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:25.101Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "fd4f681e-565f-4c06-918a-47a4450fdbf1",
"appliedAt": "2026-10-17T16:15:25.255Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BUOHFRDQ.29G7JY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:18.808Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:15:18.810Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:15:24.618Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:17.579Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:17.966Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:17.969Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:15:18.225Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:18.531Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:18.670Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:18.809Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:18.810Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:15:24.618Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:15:25.101Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:25.255Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:25.257Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:25.742Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:17.579Z",
"updatedAt": "2026-10-17T16:15:37.661Z",
"result": "already_decided"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "130",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "decide",
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"decision": "approve",
"userId": "U_RVP_SALES"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
49GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs200
We sent
GET /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"workflow": "rfq-quote",
"org": "Sales",
"team": "sales-ops",
"phase": "DONE",
"closed": true,
"outcome": "ok",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"fs_case": "restart_while_parked"
},
"duplicateStarts": 1,
"agents": [
{
"name": "catalog-pricing",
"status": "ok",
"summary": "1 line(s) priced",
"durationMs": 384
},
{
"name": "customer-lookup",
"status": "ok",
"summary": "new Stripe customer",
"durationMs": 164
},
{
"name": "crm-lookup",
"status": "ok",
"summary": "new contact",
"durationMs": 164
},
{
"name": "quote-composer",
"status": "ok",
"summary": "$784.00 at 20% (approval)",
"durationMs": 0
}
],
"actions": [
{
"id": "hubspot.upsert_buyer",
"kind": "hubspot.upsert_buyer",
"provider": "hubspot",
"agent": "crm-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"company": "Globex",
"stage": "opportunity"
},
"attempts": 1,
"ref": "238139491183",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.225Z",
"reconciled": null
},
{
"id": "stripe.ensure_customer",
"kind": "stripe.ensure_customer",
"provider": "stripe",
"agent": "customer-lookup",
"gate": "auto",
"status": "applied",
"summary": {
"email": "[email protected]",
"existing": null
},
"attempts": 1,
"ref": "cus_I8W8TUYI0VRD8VVY",
"detail": {
"created": true
},
"appliedAt": "2026-10-17T16:15:18.531Z",
"reconciled": null
},
{
"id": "stripe.draft_quote",
"kind": "stripe.draft_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"lines": 1,
"subtotal": "$980.00",
"discountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "draft"
},
"appliedAt": "2026-10-17T16:15:18.670Z",
"reconciled": null
},
{
"id": "stripe.finalize_quote",
"kind": "stripe.finalize_quote",
"provider": "stripe",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"discountPct": 20,
"requestedDiscountPct": 20,
"total": "$784.00",
"policy": "approval"
},
"attempts": 1,
"ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2",
"detail": {
"status": "open"
},
"appliedAt": "2026-10-17T16:15:25.101Z",
"reconciled": null
},
{
"id": "gmail.draft_quote_cover",
"kind": "gmail.draft_quote_cover",
"provider": "gmail",
"agent": "quote-composer",
"gate": "approval",
"status": "applied",
"summary": {
"to": "[email protected]",
"subject": "ACME quote for Globex",
"draftedBy": "template",
"sent": false
},
"attempts": 1,
"ref": "fd4f681e-565f-4c06-918a-47a4450fdbf1",
"appliedAt": "2026-10-17T16:15:25.255Z",
"reconciled": null
},
{
"id": "slack.post_rfq",
"kind": "slack.post_rfq",
"provider": "slack",
"agent": "quote-composer",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0GENERAL01",
"quotable": true,
"policy": "approval"
},
"attempts": 1,
"ref": "17BUOHFRDQ.29G7JY",
"detail": {
"channel": "C0GENERAL01"
},
"appliedAt": "2026-10-17T16:15:18.808Z",
"reconciled": null
}
],
"counts": {
"applied": 6,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0
},
"approval": {
"approvers": [
"U_RVP_SALES"
],
"expiresAt": "2026-10-18T16:15:18.810Z",
"decision": "approve",
"decidedBy": "U_RVP_SALES",
"decidedAt": "2026-10-17T16:15:24.618Z"
},
"output": {
"company": "Globex",
"pricedLines": 1,
"quotable": true,
"unknownParts": [],
"subtotalMinor": 98000,
"discountPct": 20,
"totalMinor": 78400,
"policy": "approval"
},
"events": [
{
"at": "2026-10-17T16:15:17.579Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-17T16:15:17.966Z",
"msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok"
},
{
"at": "2026-10-17T16:15:17.969Z",
"msg": "planned 6 action(s): 2 need approval"
},
{
"at": "2026-10-17T16:15:18.225Z",
"msg": "hubspot.upsert_buyer: applied"
},
{
"at": "2026-10-17T16:15:18.531Z",
"msg": "stripe.ensure_customer: applied"
},
{
"at": "2026-10-17T16:15:18.670Z",
"msg": "stripe.draft_quote: applied"
},
{
"at": "2026-10-17T16:15:18.809Z",
"msg": "slack.post_rfq: applied"
},
{
"at": "2026-10-17T16:15:18.810Z",
"msg": "awaiting approval"
},
{
"at": "2026-10-17T16:15:24.618Z",
"msg": "approved by U_RVP_SALES"
},
{
"at": "2026-10-17T16:15:25.101Z",
"msg": "stripe.finalize_quote: applied"
},
{
"at": "2026-10-17T16:15:25.255Z",
"msg": "gmail.draft_quote_cover: applied"
},
{
"at": "2026-10-17T16:15:25.257Z",
"msg": "done (ok)"
},
{
"at": "2026-10-17T16:15:25.742Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-17T16:15:17.579Z",
"updatedAt": "2026-10-17T16:15:37.661Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
restart_while_parkedApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
A discounted quote parked for approval survives a runtime restart and is finalized once approved
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (13)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
stripe · GET /v1/products · HTTP 200
We sent
GET /v1/products
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "prod_SaaS_ProPlan",
"object": "product",
"name": "Pro Plan",
"description": "Full-featured SaaS subscription with priority support and 100GB storage",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/pro",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "pro"
},
"marketing_features": [
{
"name": "item-d43359"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
},
{
"id": "prod_SaaS_EntPlan",
"object": "product",
"name": "Enterprise Plan",
"description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations",
"active": true,
"unit_label": "seat",
"url": "https://acmecorp.com/pricing/enterprise",
"images": [],
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"updated": "2025-01-10T12:00:00Z",
"metadata": {
"category": "subscription",
"tier": "enterprise"
},
"marketing_features": [
{
"name": "item-d89fef"
}
],
"default_price": null,
"package_dimensions": null,
"shippable": null,
"statement_descriptor": null,
"tax_code": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/products"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/products
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/prices · HTTP 200
We sent
GET /v1/prices
No body shown for this read.
Server returned
HTTP 200
{
"data": [
{
"id": "price_1Pro_Monthly_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 4900,
"unit_amount_decimal": "4900",
"product": "prod_SaaS_ProPlan",
"type": "recurring",
"recurring": {
"interval": "month",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
},
{
"id": "price_1Ent_Annual_USD",
"object": "price",
"active": true,
"currency": "usd",
"unit_amount": 199900,
"unit_amount_decimal": "199900",
"product": "prod_SaaS_EntPlan",
"type": "recurring",
"recurring": {
"interval": "year",
"interval_count": 1,
"usage_type": "licensed",
"aggregate_usage": null
},
"billing_scheme": "per_unit",
"livemode": false,
"created": "2024-06-01T08:00:00Z",
"metadata": {},
"custom_unit_amount": null,
"lookup_key": null,
"nickname": null,
"tax_behavior": null,
"tiers_mode": null,
"transform_quantity": null
}
],
"has_more": false,
"object": "list",
"url": "/v1/prices"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/prices
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "227",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts/search · HTTP 200
We sent
POST /crm/v3/objects/contacts/search
{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}Server returned
HTTP 200
{
"total": 0,
"results": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search
{
"host": "fetchsandbox.com",
"content-length": "227",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"filterGroups": [
{
"filters": [
{
"propertyName": "email",
"operator": "EQ",
"value": "[email protected]"
}
]
}
],
"properties": [
"email",
"firstname",
"lastname",
"company",
"lifecyclestage",
"hs_lead_status",
"hubspot_owner_id"
],
"limit": 10
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
hubspot · POST /crm/v3/objects/contacts · HTTP 201
We sent
POST /crm/v3/objects/contacts
{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}Server returned
HTTP 201
{
"archived": false,
"createdAt": "2019-10-30T03:30:17.883Z",
"id": "238139491183",
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
},
"updatedAt": "2019-12-07T16:50:06.678Z"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts
{
"host": "fetchsandbox.com",
"content-length": "140",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"properties": {
"email": "[email protected]",
"firstname": "Hank",
"company": "Globex",
"lastname": "Scorpio",
"lifecyclestage": "opportunity"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/customers · HTTP 200
We sent
GET /v1/customers
No body shown for this read.
Server returned
HTTP 200
{
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/customers · HTTP 200
We sent
POST /v1/customers
{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}Server returned
HTTP 200
{
"address": null,
"balance": 0,
"business_name": "Sample Business",
"cash_balance": null,
"created": 98,
"currency": "USD",
"customer_account": null,
"default_source": null,
"delinquent": false,
"description": null,
"discount": null,
"email": "[email protected]",
"id": "cus_I8W8TUYI0VRD8VVY",
"individual_name": "Sample Individual",
"invoice_prefix": null,
"livemode": false,
"name": "Hank Scorpio",
"object": "customer",
"phone": "+14155550100",
"preferred_locales": null,
"shipping": null,
"tax_exempt": "exempt",
"test_clock": null,
"metadata": {
"company": "Globex"
}
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/customers
{
"host": "fetchsandbox.com",
"content-length": "78",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"email": "[email protected]",
"name": "Hank Scorpio",
"metadata": {
"company": "Globex"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes · HTTP 200
We sent
POST /v1/quotes
{
"customer": "cus_I8W8TUYI0VRD8VVY",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_I8W8TUYI0VRD8VVY",
"created": 1792253718,
"expires_at": 1794845718,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes
{
"host": "fetchsandbox.com",
"content-length": "303",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-raw '{
"customer": "cus_I8W8TUYI0VRD8VVY",
"line_items[0][price]": "price_1Pro_Monthly_USD",
"line_items[0][quantity]": "20",
"metadata": {
"rfq_run": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0GENERAL01",
"message": {
"bot_id": "bot_a91a61f4902a4461bc9b2c3f80",
"client_msg_id": "cli_83d96e1f2b8f406dbbe820b05d",
"name": "item-932d36",
"old_name": "Sample Old",
"parent_user_id": "par_9419c729bae14cab96b84f9d11",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17BUOHFRDQ.29G7JY"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "201",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0GENERAL01",
"text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · GET /v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2 · HTTP 200
We sent
GET /v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2
No body shown for this read.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": null,
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_I8W8TUYI0VRD8VVY",
"created": 1792253718,
"expires_at": 1794845718,
"status": "draft",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": null
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
stripe · POST /v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2/finalize · HTTP 200
We sent
POST /v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2/finalize
No body was saved. This receipt cannot tell whether it was empty or not captured.
Server returned
HTTP 200
{
"application": null,
"application_fee_amount": null,
"application_fee_percent": null,
"customer_account": null,
"description": null,
"footer": null,
"from_quote": null,
"header": null,
"invoice": null,
"number": "QT-PYKGHFJ8-0001-1",
"on_behalf_of": null,
"subscription": null,
"subscription_schedule": null,
"test_clock": null,
"transfer_data": null,
"object": "quote",
"amount_subtotal": 98000,
"amount_total": 98000,
"currency": "usd",
"customer": "cus_I8W8TUYI0VRD8VVY",
"created": 1792253718,
"expires_at": 1794845718,
"status": "open",
"livemode": false,
"automatic_tax": {
"enabled": false,
"liability": null,
"status": null
},
"collection_method": "charge_automatically",
"computed": {
"upfront": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
},
"recurring": {
"amount_subtotal": 98000,
"amount_total": 98000,
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"interval": "month",
"interval_count": 1
}
},
"default_tax_rates": [],
"discounts": [],
"metadata": {
"rfq_run": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb",
"discount_pct": "20",
"discount_policy": "approval",
"quoted_total_minor": "78400"
},
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
},
"invoice_settings": {
"days_until_due": null,
"issuer": {
"type": "self"
}
},
"status_transitions": {
"accepted_at": null,
"canceled_at": null,
"finalized_at": 1792253725
},
"subscription_data": {
"billing_mode": {
"type": "flexible",
"flexible": {
"proration_discounts": "included"
}
},
"description": null,
"effective_date": null,
"metadata": null,
"trial_period_days": null
},
"id": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2/finalize
{
"host": "fetchsandbox.com",
"content-length": "0",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/x-www-form-urlencoded"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
gmail · POST /gmail/v1/users/me/drafts · HTTP 200
We sent
POST /gmail/v1/users/me/drafts
{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtcmVzdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MDZhNDI4ZTEwMDI1NTkwOC5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoCkRpc2NvdW50OiAyMCUKVG90YWw6ICQ3ODQuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0"
},
"user_id": "me"
}Server returned
HTTP 200
{
"id": "fd4f681e-565f-4c06-918a-47a4450fdbf1",
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtcmVzdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MDZhNDI4ZTEwMDI1NTkwOC5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoCkRpc2NvdW50OiAyMCUKVG90YWw6ICQ3ODQuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0"
},
"user_id": "me"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts
{
"host": "fetchsandbox.com",
"content-length": "501",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"message": {
"raw": "RnJvbTogbWUNClRvOiByZnEtcmVzdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MDZhNDI4ZTEwMDI1NTkwOC5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoCkRpc2NvdW50OiAyMCUKVG90YWw6ICQ3ODQuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0"
},
"user_id": "me"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
The approved discount is applied on the quote as a Stripe coupon
discount_as_stripe_couponWhat we probed
The approved discount is applied on the quote as a Stripe coupon
How we probed it
The Stripe twin rejects discounts on quotes (501 unsupported_checkout_option), so the discount is recorded in quote metadata and applied at invoicing; the coupon path is not exercised.
Expected vs actual
- Expected
- The approved discount is applied on the quote as a Stripe coupon
- Actual
- The Stripe twin rejects discounts on quotes (501 unsupported_checkout_option), so the discount is recorded in quote metadata and applied at invoicing; the coupon path is not exercised.
Requests and responses
No directly linked requests were recorded.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
discount_as_stripe_couponApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
The approved discount is applied on the quote as a Stripe coupon
The Stripe twin rejects discounts on quotes (501 unsupported_checkout_option), so the discount is recorded in quote metadata and applied at invoicing; the coupon path is not exercised.
- 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.
Quotes are created in ACME's CPQ / Salesforce opportunity
salesforce_cpqWhat we probed
Quotes are created in ACME's CPQ / Salesforce opportunity
How we probed it
No Salesforce twin in FetchSandbox; ACME's quote is a Stripe quote and the CRM is HubSpot.
Expected vs actual
- Expected
- Quotes are created in ACME's CPQ / Salesforce opportunity
- Actual
- No Salesforce twin in FetchSandbox; ACME's quote is a Stripe quote and the CRM is HubSpot.
Requests and responses
No directly linked requests were recorded.
Evidence
- Run
vr_9d553a7d44fe4af4b760c3f63e937ffb- App version (declared)
acme-ops-rfq-quote-1.0.0-7a70b69- Source receipt
- Source receipt ↗
Technical reference
salesforce_cpqApp version (declared): acme-ops-rfq-quote-1.0.0-7a70b69
Quotes are created in ACME's CPQ / Salesforce opportunity
No Salesforce twin in FetchSandbox; ACME's quote is a Stripe quote and the CRM is HubSpot.
- 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.
Run details
Run vr_9d553a7d44fe4af4b760c3f63e937ffb
16 required checks for the declared application workflow. Results apply to the recorded observation windows.
14 passed · 0 failed · 2 not checked
Coverage beyond the declared checks
Passing these checks does not establish every production behavior.
- Normal successful behavior · Linked checks passed · baseline
- The right user gets the right access · Linked checks passed · approve_by_stranger_refused
- Valid data and boundary values · Linked checks passed · invalid_input_rejected, unknown_part_manual_pricing, mixed_terms_manual_pricing
- Correct amount, currency and quantity · Not checked · discount_over_policy_declined, approval_discount_parks, discount_as_stripe_coupon
- Duplicate requests and events · Linked checks passed · duplicate_start
- Requests arriving together · Linked checks passed · concurrent_start
- 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 · hubspot_auth_failure
- Rate limits, server failures and timeouts · Linked checks passed · stripe_rate_limited
- Completed action with a lost response · Proposed as not applicable
- Partial completion and recovery · Linked checks passed · hubspot_auth_failure
- Restart without losing or duplicating work · Linked checks passed · restart_while_parked
- Finding and repairing inconsistent state · Linked checks passed · approve_and_reconcile
- Cancellation, refunds and access · Linked checks passed · reject
- Data ownership and privacy · Proposed as not applicable
- Test isolation and cleanup · Linked checks passed · baseline, concurrent_start
Applicability comes from the proposed plan. Test results come from the recorded execution.
App version: acme-ops-rfq-quote-1.0.0-7a70b69 (declared)
Measured run: 2026-10-17T16:14:43.481156+00:00 – 2026-10-17T16:15:38.191411+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: 262/289 successful · checkpoints: 14/16 recorded
Why checks are unmeasured
- discount_as_stripe_coupon: The Stripe twin rejects discounts on quotes (501 unsupported_checkout_option), so the discount is recorded in quote metadata and applied at invoicing; the coupon path is not exercised.
- salesforce_cpq: No Salesforce twin in FetchSandbox; ACME's quote is a Stripe quote and the CRM is HubSpot.
Sanitized request and event timeline (287 events)
- · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs · baseline · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:43.651932+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · baseline · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 5, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "baseline" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:45.612936+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "437", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 5, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "baseline" } }Recorded response · HTTP 200
{ "runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "baseline" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 419 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 349 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 245 }, { "name": "quote-composer", "status": "ok", "summary": "$931.00 at 5% (auto)", "durationMs": 22 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "760791346117", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:44.394Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_KBEHH95UP4PVVH4K", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:44.681Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 5, "total": "$931.00", "policy": "auto" }, "attempts": 1, "ref": "qt_KJH7SJBY80FIWCQU7S90I4DK", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:44.846Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 5, "requestedDiscountPct": 5, "total": "$931.00", "policy": "auto" }, "attempts": 1, "ref": "qt_KJH7SJBY80FIWCQU7S90I4DK", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:45.120Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "720bf145-93c2-4f70-bf7a-99cb17301ba7", "appliedAt": "2026-10-17T16:14:45.265Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "17SQO4T4VK.JDB4XU", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:45.398Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 5, "totalMinor": 93100, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:14:43.654Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:44.074Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:44.100Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:14:44.395Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:44.681Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:44.846Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:45.120Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:45.265Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:45.399Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:45.402Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:14:43.654Z", "updatedAt": "2026-10-17T16:14:45.402Z", "duplicate": false } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 3722ea525f97 · processing 1.25ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.25ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "228", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request 05f9cef7624c · processing 2.23ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.23ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-d0b8c8" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-fbc5c6" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request b59da5c4fc56 · processing 3.63ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.63ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request 3d7790d6dd62 · processing 1.95ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.95ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 18ebe7107f0b · processing 1.47ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.47ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "228", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request 1d1941374571 · processing 11.5ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 11.5ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "141", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "760791346117", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 794116d8ceab · processing 3.2ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.2ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST stripe request · provider traffic · /v1/customers · HTTP 200 · request 568bee199643 · processing 19.45ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 19.45ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "79", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }Recorded response · HTTP 200
{ "address": null, "balance": 0, "business_name": "Sample Business", "cash_balance": null, "created": 49, "currency": "USD", "customer_account": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "[email protected]", "id": "cus_KBEHH95UP4PVVH4K", "individual_name": "Sample Individual", "invoice_prefix": null, "livemode": false, "name": "Hank Scorpio", "object": "customer", "phone": "+14155550100", "preferred_locales": null, "shipping": null, "tax_exempt": "exempt", "test_clock": null, "metadata": { "company": "Globex" } } - · POST stripe request · provider traffic · /v1/quotes · HTTP 200 · request 458c917c8d47 · processing 18.72ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "customer": "cus_KBEHH95UP4PVVH4K", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "5", "discount_policy": "auto", "quoted_total_minor": "93100" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 18.72ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "286", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "customer": "cus_KBEHH95UP4PVVH4K", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "5", "discount_policy": "auto", "quoted_total_minor": "93100" } }Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_KBEHH95UP4PVVH4K", "created": 1792253684, "expires_at": 1794845684, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "5", "discount_policy": "auto", "quoted_total_minor": "93100" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_KJH7SJBY80FIWCQU7S90I4DK" } - · GET stripe request · provider traffic · /v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK · HTTP 200 · request 7ec9c80f56bd · processing 9.74ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 9.74ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_KBEHH95UP4PVVH4K", "created": 1792253684, "expires_at": 1794845684, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "5", "discount_policy": "auto", "quoted_total_minor": "93100" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_KJH7SJBY80FIWCQU7S90I4DK" } - · POST stripe request · provider traffic · /v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK/finalize · HTTP 200 · request 350888e4c3eb · processing 13.75ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_KJH7SJBY80FIWCQU7S90I4DK/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.75ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "0", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
No body was saved. This receipt cannot tell whether it was empty or not captured.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": "QT-KJH7SJBY-0001-1", "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_KBEHH95UP4PVVH4K", "created": 1792253684, "expires_at": 1794845684, "status": "open", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "5", "discount_policy": "auto", "quoted_total_minor": "93100" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": 1792253685 }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_KJH7SJBY80FIWCQU7S90I4DK" } - · POST gmail request · provider traffic · /gmail/v1/users/me/drafts · HTTP 200 · request 7c2c5b9a195a · processing 10.34ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtYmFzZWxpbmVAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDJjZDYzNTAzOGRiNzNjZTYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApEaXNjb3VudDogNSUKVG90YWw6ICQ5MzEuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0" }, "user_id": "me" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 10.34ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "501", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtYmFzZWxpbmVAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDJjZDYzNTAzOGRiNzNjZTYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApEaXNjb3VudDogNSUKVG90YWw6ICQ5MzEuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0" }, "user_id": "me" }Recorded response · HTTP 200
{ "id": "720bf145-93c2-4f70-bf7a-99cb17301ba7", "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtYmFzZWxpbmVAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDJjZDYzNTAzOGRiNzNjZTYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApEaXNjb3VudDogNSUKVG90YWw6ICQ5MzEuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0" }, "user_id": "me" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request eebb0d2764f5 · processing 10.69ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $931.00 at 5% off. Quote finalized.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 10.69ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "163", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $931.00 at 5% off. Quote finalized.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_d66054b5177e4a9284cc5dca29", "client_msg_id": "cli_95d3b6e6a9404caea8e7001579", "name": "item-c66a8c", "old_name": "Sample Old", "parent_user_id": "par_ed366728e031407db1761b7979", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17SQO4T4VK.JDB4XU" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs · baseline · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:45.896090+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "baseline" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 419 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 349 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 245 }, { "name": "quote-composer", "status": "ok", "summary": "$931.00 at 5% (auto)", "durationMs": 22 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "760791346117", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:44.394Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_KBEHH95UP4PVVH4K", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:44.681Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 5, "total": "$931.00", "policy": "auto" }, "attempts": 1, "ref": "qt_KJH7SJBY80FIWCQU7S90I4DK", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:44.846Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 5, "requestedDiscountPct": 5, "total": "$931.00", "policy": "auto" }, "attempts": 1, "ref": "qt_KJH7SJBY80FIWCQU7S90I4DK", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:45.120Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "720bf145-93c2-4f70-bf7a-99cb17301ba7", "appliedAt": "2026-10-17T16:14:45.265Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "17SQO4T4VK.JDB4XU", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:45.398Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 5, "totalMinor": 93100, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:14:43.654Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:44.074Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:44.100Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:14:44.395Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:44.681Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:44.846Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:45.120Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:45.265Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:45.399Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:45.402Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:14:43.654Z", "updatedAt": "2026-10-17T16:14:45.402Z" } ] } - · POST app request /invocations · baseline · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 5, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "baseline" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:46.085325+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "437", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 5, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "baseline" } }Recorded response · HTTP 200
{ "runId": "baseline-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "baseline" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 419 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 349 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 245 }, { "name": "quote-composer", "status": "ok", "summary": "$931.00 at 5% (auto)", "durationMs": 22 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "760791346117", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:44.394Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_KBEHH95UP4PVVH4K", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:44.681Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 5, "total": "$931.00", "policy": "auto" }, "attempts": 1, "ref": "qt_KJH7SJBY80FIWCQU7S90I4DK", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:44.846Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 5, "requestedDiscountPct": 5, "total": "$931.00", "policy": "auto" }, "attempts": 1, "ref": "qt_KJH7SJBY80FIWCQU7S90I4DK", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:45.120Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "720bf145-93c2-4f70-bf7a-99cb17301ba7", "appliedAt": "2026-10-17T16:14:45.265Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "17SQO4T4VK.JDB4XU", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:45.398Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 5, "totalMinor": 93100, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:14:43.654Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:44.074Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:44.100Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:14:44.395Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:44.681Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:44.846Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:45.120Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:45.265Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:45.399Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:45.402Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:14:45.868Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:43.654Z", "updatedAt": "2026-10-17T16:14:45.868Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs · baseline · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:46.359479+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "baseline" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 419 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 349 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 245 }, { "name": "quote-composer", "status": "ok", "summary": "$931.00 at 5% (auto)", "durationMs": 22 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "760791346117", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:44.394Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_KBEHH95UP4PVVH4K", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:44.681Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 5, "total": "$931.00", "policy": "auto" }, "attempts": 1, "ref": "qt_KJH7SJBY80FIWCQU7S90I4DK", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:44.846Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 5, "requestedDiscountPct": 5, "total": "$931.00", "policy": "auto" }, "attempts": 1, "ref": "qt_KJH7SJBY80FIWCQU7S90I4DK", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:45.120Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "720bf145-93c2-4f70-bf7a-99cb17301ba7", "appliedAt": "2026-10-17T16:14:45.265Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "17SQO4T4VK.JDB4XU", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:45.398Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 5, "totalMinor": 93100, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:14:43.654Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:44.074Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:44.100Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:14:44.395Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:44.681Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:44.846Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:45.120Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:45.265Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:45.399Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:45.402Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:14:45.868Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:43.654Z", "updatedAt": "2026-10-17T16:14:45.868Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs · approval discount parks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:46.539744+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · approval discount parks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approval_discount_parks" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:47.863554+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "483", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approval_discount_parks" } }Recorded response · HTTP 200
{ "runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approval_discount_parks" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 169 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 186 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "483681691005", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:46.969Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_R074U3KVB0VYOG3B", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:47.243Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_8UKW6W7C2XNDDYGHA3F25NAH", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:47.403Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17KQH0DY9S.XC0EIR", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:47.560Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:47.562Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:46.512Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:46.701Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:46.704Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:46.969Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:47.243Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:47.403Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:47.561Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:47.562Z", "msg": "awaiting approval" } ], "createdAt": "2026-10-17T16:14:46.512Z", "updatedAt": "2026-10-17T16:14:47.562Z", "duplicate": false } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request 2150359b65a7 · processing 2.14ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.14ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-65b493" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-2c1cb2" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request 39094d8a0262 · processing 2.27ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.27ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request d901e0bf38a1 · processing 3.47ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.47ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request a17cd2d0f770 · processing 1.43ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.43ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "243", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 0a439bc35ad4 · processing 1.21ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.21ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "243", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request 5b48d79070fa · processing 10.67ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 10.67ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "156", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "483681691005", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 43a3bbdebe4a · processing 3.07ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.07ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST stripe request · provider traffic · /v1/customers · HTTP 200 · request e99630eabca1 · processing 15.67ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 15.67ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "94", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }Recorded response · HTTP 200
{ "address": null, "balance": 0, "business_name": "Sample Business", "cash_balance": null, "created": 77, "currency": "USD", "customer_account": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "[email protected]", "id": "cus_R074U3KVB0VYOG3B", "individual_name": "Sample Individual", "invoice_prefix": null, "livemode": false, "name": "Hank Scorpio", "object": "customer", "phone": "+14155550100", "preferred_locales": null, "shipping": null, "tax_exempt": "exempt", "test_clock": null, "metadata": { "company": "Globex" } } - · POST stripe request · provider traffic · /v1/quotes · HTTP 200 · request a35a1694f8a7 · processing 14.2ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "customer": "cus_R074U3KVB0VYOG3B", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 14.2ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "306", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "customer": "cus_R074U3KVB0VYOG3B", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_R074U3KVB0VYOG3B", "created": 1792253687, "expires_at": 1794845687, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_8UKW6W7C2XNDDYGHA3F25NAH" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 154028caa441 · processing 13.11ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.11ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "217", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_5cc5ee6062f4429a96baec85b2", "client_msg_id": "cli_928f86db315a48829a3d1ddf08", "name": "item-150743", "old_name": "Sample Old", "parent_user_id": "par_672a744f7c3b41eb8782583794", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17KQH0DY9S.XC0EIR" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs · approval discount parks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:48.162461+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approval_discount_parks" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 169 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 186 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "483681691005", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:46.969Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_R074U3KVB0VYOG3B", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:47.243Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_8UKW6W7C2XNDDYGHA3F25NAH", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:47.403Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17KQH0DY9S.XC0EIR", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:47.560Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:47.562Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:46.512Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:46.701Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:46.704Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:46.969Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:47.243Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:47.403Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:47.561Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:47.562Z", "msg": "awaiting approval" } ], "createdAt": "2026-10-17T16:14:46.512Z", "updatedAt": "2026-10-17T16:14:47.562Z" } ] } - · POST app request /invocations · approval discount parks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approval_discount_parks" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:48.344679+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "483", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approval_discount_parks" } }Recorded response · HTTP 200
{ "runId": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approval_discount_parks" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 169 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 186 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "483681691005", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:46.969Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_R074U3KVB0VYOG3B", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:47.243Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_8UKW6W7C2XNDDYGHA3F25NAH", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:47.403Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17KQH0DY9S.XC0EIR", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:47.560Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:47.562Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:46.512Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:46.701Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:46.704Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:46.969Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:47.243Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:47.403Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:47.561Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:47.562Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:48.139Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:46.512Z", "updatedAt": "2026-10-17T16:14:48.139Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs · approval discount parks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approval_discount_parks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:48.638236+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "approval-discount-parks-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approval_discount_parks" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 169 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 186 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "483681691005", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:46.969Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_R074U3KVB0VYOG3B", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:47.243Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_8UKW6W7C2XNDDYGHA3F25NAH", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:47.403Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17KQH0DY9S.XC0EIR", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:47.560Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:47.562Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:46.512Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:46.701Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:46.704Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:46.969Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:47.243Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:47.403Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:47.561Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:47.562Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:48.139Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:46.512Z", "updatedAt": "2026-10-17T16:14:48.139Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs · approve and reconcile · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:48.823442+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · approve and reconcile · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:49.990480+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" } }Recorded response · HTTP 200
{ "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 158 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 110 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 173 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "208942902332", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.228Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_YB37IWK92NU6PDYQ", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.516Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:49.650Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17VLA43EFR.12N88K", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:49.780Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:49.781Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:48.800Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:48.977Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:48.979Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:49.228Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:49.516Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:49.651Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:49.780Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:49.781Z", "msg": "awaiting approval" } ], "createdAt": "2026-10-17T16:14:48.800Z", "updatedAt": "2026-10-17T16:14:49.781Z", "duplicate": false } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 975109f23855 · processing 3.19ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.19ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request 4eecec92d453 · processing 2.22ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.22ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-e2dee2" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-656a37" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request a90e1e424918 · processing 2.11ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.11ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request b5afbc1fece5 · processing 1.27ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.27ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "241", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 6b727496c01b · processing 1.4ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.4ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "241", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request d5d7610addaf · processing 10.82ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 10.82ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "154", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "208942902332", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 683369bea9db · processing 3.33ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.33ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST stripe request · provider traffic · /v1/customers · HTTP 200 · request cea2aa3998ad · processing 18.04ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 18.04ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "92", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }Recorded response · HTTP 200
{ "address": null, "balance": 0, "business_name": "Sample Business", "cash_balance": null, "created": 35, "currency": "USD", "customer_account": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "[email protected]", "id": "cus_YB37IWK92NU6PDYQ", "individual_name": "Sample Individual", "invoice_prefix": null, "livemode": false, "name": "Hank Scorpio", "object": "customer", "phone": "+14155550100", "preferred_locales": null, "shipping": null, "tax_exempt": "exempt", "test_clock": null, "metadata": { "company": "Globex" } } - · POST stripe request · provider traffic · /v1/quotes · HTTP 200 · request 1a618127191b · processing 13.08ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "customer": "cus_YB37IWK92NU6PDYQ", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.08ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "304", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "customer": "cus_YB37IWK92NU6PDYQ", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_YB37IWK92NU6PDYQ", "created": 1792253689, "expires_at": 1794845689, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_9QSB9U9CY6MWRA54CUSSS5UM" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 0d91b1429720 · processing 13.3ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.3ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "215", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_2bbec4a0b2fc4655b3dafeaee0", "client_msg_id": "cli_60d97b29ca754d22846a353a9c", "name": "item-47c4cb", "old_name": "Sample Old", "parent_user_id": "par_42e1c9828ca64dac9f63759bf2", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17VLA43EFR.12N88K" } - · POST app request /invocations · approve and reconcile · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "decide", "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_RVP_SALES" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:50.594118+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "131", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "decide", "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_RVP_SALES" }Recorded response · HTTP 200
{ "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 158 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 110 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 173 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "208942902332", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.228Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_YB37IWK92NU6PDYQ", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.516Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:49.650Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:50.252Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "c79b4479-60a6-4f38-8494-d83f5648701c", "appliedAt": "2026-10-17T16:14:50.388Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17VLA43EFR.12N88K", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:49.780Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:49.781Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:49.971Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:48.800Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:48.977Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:48.979Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:49.228Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:49.516Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:49.651Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:49.780Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:49.781Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:49.971Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:14:50.252Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:50.389Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:50.390Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:14:48.800Z", "updatedAt": "2026-10-17T16:14:50.390Z", "result": "recorded" } - · GET stripe request · provider traffic · /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM · HTTP 200 · request 1ab4681fc11e · processing 5.86ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 5.86ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_YB37IWK92NU6PDYQ", "created": 1792253689, "expires_at": 1794845689, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_9QSB9U9CY6MWRA54CUSSS5UM" } - · POST stripe request · provider traffic · /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM/finalize · HTTP 200 · request 5eb82dfa0735 · processing 12.99ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.99ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "0", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
No body was saved. This receipt cannot tell whether it was empty or not captured.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": "QT-9QSB9U9C-0001-1", "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_YB37IWK92NU6PDYQ", "created": 1792253689, "expires_at": 1794845689, "status": "open", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": 1792253690 }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_9QSB9U9CY6MWRA54CUSSS5UM" } - · POST gmail request · provider traffic · /gmail/v1/users/me/drafts · HTTP 200 · request c8c2c50c7bad · processing 11.86ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtYXBwcm92ZS1hbmQtcmVjb25jaWxlQGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDwyOGQ0MDdkZjE1YmI5NTgyLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKRGlzY291bnQ6IDIwJQpUb3RhbDogJDc4NC4wMAoKVGhlIEFDTUUgc2FsZXMgdGVhbQ" }, "user_id": "me" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 11.86ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "520", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtYXBwcm92ZS1hbmQtcmVjb25jaWxlQGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDwyOGQ0MDdkZjE1YmI5NTgyLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKRGlzY291bnQ6IDIwJQpUb3RhbDogJDc4NC4wMAoKVGhlIEFDTUUgc2FsZXMgdGVhbQ" }, "user_id": "me" }Recorded response · HTTP 200
{ "id": "c79b4479-60a6-4f38-8494-d83f5648701c", "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtYXBwcm92ZS1hbmQtcmVjb25jaWxlQGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDwyOGQ0MDdkZjE1YmI5NTgyLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKRGlzY291bnQ6IDIwJQpUb3RhbDogJDc4NC4wMAoKVGhlIEFDTUUgc2FsZXMgdGVhbQ" }, "user_id": "me" } - · POST app request /invocations · approve and reconcile · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "reconcile", "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:50.927387+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "90", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "reconcile", "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response · HTTP 200
{ "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 158 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 110 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 173 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "208942902332", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.228Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_YB37IWK92NU6PDYQ", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.516Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:49.650Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:50.252Z", "reconcile": { "status": "match", "checkedAt": "2026-10-17T16:14:50.709Z" }, "reconciled": "match" }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "c79b4479-60a6-4f38-8494-d83f5648701c", "appliedAt": "2026-10-17T16:14:50.388Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.571Z" }, "reconciled": "unverifiable" }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17VLA43EFR.12N88K", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:49.780Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.571Z" }, "reconciled": "unverifiable" } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:49.781Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:49.971Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:48.800Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:48.977Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:48.979Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:49.228Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:49.516Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:49.651Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:49.780Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:49.781Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:49.971Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:14:50.252Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:50.389Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:50.390Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:14:50.710Z", "msg": "reconciled: {\"unverifiable\":5,\"match\":1}" } ], "createdAt": "2026-10-17T16:14:48.800Z", "updatedAt": "2026-10-17T16:14:50.710Z" } - · GET stripe request · provider traffic · /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM · HTTP 200 · request 4d4517314321 · processing 6.12ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 6.12ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": "QT-9QSB9U9C-0001-1", "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_YB37IWK92NU6PDYQ", "created": 1792253689, "expires_at": 1794845689, "status": "open", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": 1792253690 }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_9QSB9U9CY6MWRA54CUSSS5UM" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs · approve and reconcile · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:51.217342+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 158 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 110 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 173 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "208942902332", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.228Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_YB37IWK92NU6PDYQ", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.516Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:49.650Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:50.252Z", "reconcile": { "status": "match", "checkedAt": "2026-10-17T16:14:50.709Z" }, "reconciled": "match" }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "c79b4479-60a6-4f38-8494-d83f5648701c", "appliedAt": "2026-10-17T16:14:50.388Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.571Z" }, "reconciled": "unverifiable" }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17VLA43EFR.12N88K", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:49.780Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.571Z" }, "reconciled": "unverifiable" } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:49.781Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:49.971Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:48.800Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:48.977Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:48.979Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:49.228Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:49.516Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:49.651Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:49.780Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:49.781Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:49.971Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:14:50.252Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:50.389Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:50.390Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:14:50.710Z", "msg": "reconciled: {\"unverifiable\":5,\"match\":1}" } ], "createdAt": "2026-10-17T16:14:48.800Z", "updatedAt": "2026-10-17T16:14:50.710Z" } ] } - · POST app request /invocations · approve and reconcile · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:51.420139+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" } }Recorded response · HTTP 200
{ "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 158 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 110 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 173 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "208942902332", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.228Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_YB37IWK92NU6PDYQ", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.516Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:49.650Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:50.252Z", "reconcile": { "status": "match", "checkedAt": "2026-10-17T16:14:50.709Z" }, "reconciled": "match" }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "c79b4479-60a6-4f38-8494-d83f5648701c", "appliedAt": "2026-10-17T16:14:50.388Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.571Z" }, "reconciled": "unverifiable" }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17VLA43EFR.12N88K", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:49.780Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.571Z" }, "reconciled": "unverifiable" } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:49.781Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:49.971Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:48.800Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:48.977Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:48.979Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:49.228Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:49.516Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:49.651Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:49.780Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:49.781Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:49.971Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:14:50.252Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:50.389Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:50.390Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:14:50.710Z", "msg": "reconciled: {\"unverifiable\":5,\"match\":1}" }, { "at": "2026-10-17T16:14:51.192Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:48.800Z", "updatedAt": "2026-10-17T16:14:51.192Z", "duplicate": true } - · POST app request /invocations · approve and reconcile · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "decide", "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_RVP_SALES" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:51.596087+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "131", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "decide", "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_RVP_SALES" }Recorded response · HTTP 200
{ "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 158 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 110 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 173 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "208942902332", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.228Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_YB37IWK92NU6PDYQ", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.516Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:49.650Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.570Z" }, "reconciled": "unverifiable" }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:50.252Z", "reconcile": { "status": "match", "checkedAt": "2026-10-17T16:14:50.709Z" }, "reconciled": "match" }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "c79b4479-60a6-4f38-8494-d83f5648701c", "appliedAt": "2026-10-17T16:14:50.388Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.571Z" }, "reconciled": "unverifiable" }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17VLA43EFR.12N88K", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:49.780Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:50.571Z" }, "reconciled": "unverifiable" } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:49.781Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:49.971Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:48.800Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:48.977Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:48.979Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:49.228Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:49.516Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:49.651Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:49.780Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:49.781Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:49.971Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:14:50.252Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:50.389Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:50.390Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:14:50.710Z", "msg": "reconciled: {\"unverifiable\":5,\"match\":1}" }, { "at": "2026-10-17T16:14:51.192Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:48.800Z", "updatedAt": "2026-10-17T16:14:51.394Z", "result": "already_decided" } - · POST app request /invocations · approve and reconcile · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "reconcile", "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:51.959171+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "90", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "reconcile", "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response · HTTP 200
{ "runId": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 158 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 110 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 173 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "208942902332", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.228Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:51.622Z" }, "reconciled": "unverifiable" }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_YB37IWK92NU6PDYQ", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.516Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:51.622Z" }, "reconciled": "unverifiable" }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:49.650Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:51.622Z" }, "reconciled": "unverifiable" }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:50.252Z", "reconcile": { "status": "match", "checkedAt": "2026-10-17T16:14:51.746Z" }, "reconciled": "match" }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "c79b4479-60a6-4f38-8494-d83f5648701c", "appliedAt": "2026-10-17T16:14:50.388Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:51.623Z" }, "reconciled": "unverifiable" }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17VLA43EFR.12N88K", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:49.780Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:51.623Z" }, "reconciled": "unverifiable" } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:49.781Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:49.971Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:48.800Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:48.977Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:48.979Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:49.228Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:49.516Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:49.651Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:49.780Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:49.781Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:49.971Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:14:50.252Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:50.389Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:50.390Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:14:50.710Z", "msg": "reconciled: {\"unverifiable\":5,\"match\":1}" }, { "at": "2026-10-17T16:14:51.192Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:14:51.747Z", "msg": "reconciled: {\"unverifiable\":5,\"match\":1}" } ], "createdAt": "2026-10-17T16:14:48.800Z", "updatedAt": "2026-10-17T16:14:51.747Z" } - · GET stripe request · provider traffic · /v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM · HTTP 200 · request 0710e3822c7a · processing 5.24ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_9QSB9U9CY6MWRA54CUSSS5UM' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 5.24ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": "QT-9QSB9U9C-0001-1", "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_YB37IWK92NU6PDYQ", "created": 1792253689, "expires_at": 1794845689, "status": "open", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": 1792253690 }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_9QSB9U9CY6MWRA54CUSSS5UM" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs · approve and reconcile · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_and_reconcile/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:52.245086+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "approve-and-reconcile-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_and_reconcile" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 158 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 110 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 173 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "208942902332", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.228Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:51.622Z" }, "reconciled": "unverifiable" }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_YB37IWK92NU6PDYQ", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:49.516Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:51.622Z" }, "reconciled": "unverifiable" }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:49.650Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:51.622Z" }, "reconciled": "unverifiable" }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9QSB9U9CY6MWRA54CUSSS5UM", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:50.252Z", "reconcile": { "status": "match", "checkedAt": "2026-10-17T16:14:51.746Z" }, "reconciled": "match" }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "c79b4479-60a6-4f38-8494-d83f5648701c", "appliedAt": "2026-10-17T16:14:50.388Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:51.623Z" }, "reconciled": "unverifiable" }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17VLA43EFR.12N88K", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:49.780Z", "reconcile": { "status": "unverifiable", "detail": "no read-back for this action", "checkedAt": "2026-10-17T16:14:51.623Z" }, "reconciled": "unverifiable" } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:49.781Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:49.971Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:48.800Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:48.977Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:48.979Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:49.228Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:49.516Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:49.651Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:49.780Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:49.781Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:49.971Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:14:50.252Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:50.389Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:50.390Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:14:50.710Z", "msg": "reconciled: {\"unverifiable\":5,\"match\":1}" }, { "at": "2026-10-17T16:14:51.192Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:14:51.747Z", "msg": "reconciled: {\"unverifiable\":5,\"match\":1}" } ], "createdAt": "2026-10-17T16:14:48.800Z", "updatedAt": "2026-10-17T16:14:51.747Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs · approve by stranger refused · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:52.424167+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · approve by stranger refused · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_by_stranger_refused" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:53.649376+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "495", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_by_stranger_refused" } }Recorded response · HTTP 200
{ "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_by_stranger_refused" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 167 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 150 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 145 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "665442119284", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:52.843Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8MKNVH1GVY4C6Z42", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:53.135Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:53.275Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17HDIN9X39.PXBVEX", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:53.431Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:53.433Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:52.409Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:52.578Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:52.580Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:52.843Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:53.136Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:53.275Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:53.431Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:53.433Z", "msg": "awaiting approval" } ], "createdAt": "2026-10-17T16:14:52.409Z", "updatedAt": "2026-10-17T16:14:53.433Z", "duplicate": false } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request 408673788ac2 · processing 2.29ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.29ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-cfca2d" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-d4acd9" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request d1e0eb1ece73 · processing 1.33ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.33ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "247", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 1eac9590aaa8 · processing 4.29ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.29ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request 68840dab83b8 · processing 2.2ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.2ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request f7eb0e34d9aa · processing 1.3ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.3ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "247", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request d41925aac477 · processing 10.95ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 10.95ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "160", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "665442119284", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 1e45d70b084c · processing 4.49ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.49ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST stripe request · provider traffic · /v1/customers · HTTP 200 · request fd50fe37ec90 · processing 20.65ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 20.65ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "98", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }Recorded response · HTTP 200
{ "address": null, "balance": 0, "business_name": "Sample Business", "cash_balance": null, "created": 49, "currency": "USD", "customer_account": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "[email protected]", "id": "cus_8MKNVH1GVY4C6Z42", "individual_name": "Sample Individual", "invoice_prefix": null, "livemode": false, "name": "Hank Scorpio", "object": "customer", "phone": "+14155550100", "preferred_locales": null, "shipping": null, "tax_exempt": "exempt", "test_clock": null, "metadata": { "company": "Globex" } } - · POST stripe request · provider traffic · /v1/quotes · HTTP 200 · request bf9bca7bbb89 · processing 13.5ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "customer": "cus_8MKNVH1GVY4C6Z42", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.5ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "310", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "customer": "cus_8MKNVH1GVY4C6Z42", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_8MKNVH1GVY4C6Z42", "created": 1792253693, "expires_at": 1794845693, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request e4b51c0e9f33 · processing 14.55ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 14.55ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "221", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_79de858d695f4cdfad5f25d37c", "client_msg_id": "cli_f690a6385ef04b5a8d0bfc9de6", "name": "item-28f573", "old_name": "Sample Old", "parent_user_id": "par_a80c15ae061b4a19bca31d726d", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17HDIN9X39.PXBVEX" } - · POST app request /invocations · approve by stranger refused · HTTP 403
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "decide", "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_SDR" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:53.840957+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "131", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "decide", "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_SDR" }Recorded response · HTTP 403
{ "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_by_stranger_refused" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 167 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 150 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 145 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "665442119284", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:52.843Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8MKNVH1GVY4C6Z42", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:53.135Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:53.275Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17HDIN9X39.PXBVEX", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:53.431Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:53.433Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:52.409Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:52.578Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:52.580Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:52.843Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:53.136Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:53.275Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:53.431Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:53.433Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:53.630Z", "msg": "decision by U_SDR refused: not an approver" } ], "createdAt": "2026-10-17T16:14:52.409Z", "updatedAt": "2026-10-17T16:14:53.630Z", "result": "forbidden" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs · approve by stranger refused · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:54.144430+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_by_stranger_refused" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 167 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 150 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 145 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "665442119284", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:52.843Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8MKNVH1GVY4C6Z42", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:53.135Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:53.275Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17HDIN9X39.PXBVEX", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:53.431Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:53.433Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:52.409Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:52.578Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:52.580Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:52.843Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:53.136Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:53.275Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:53.431Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:53.433Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:53.630Z", "msg": "decision by U_SDR refused: not an approver" } ], "createdAt": "2026-10-17T16:14:52.409Z", "updatedAt": "2026-10-17T16:14:53.630Z" } ] } - · POST app request /invocations · approve by stranger refused · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_by_stranger_refused" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:54.323819+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "495", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_by_stranger_refused" } }Recorded response · HTTP 200
{ "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_by_stranger_refused" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 167 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 150 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 145 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "665442119284", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:52.843Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8MKNVH1GVY4C6Z42", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:53.135Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:53.275Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17HDIN9X39.PXBVEX", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:53.431Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:53.433Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:52.409Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:52.578Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:52.580Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:52.843Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:53.136Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:53.275Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:53.431Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:53.433Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:53.630Z", "msg": "decision by U_SDR refused: not an approver" }, { "at": "2026-10-17T16:14:54.122Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:52.409Z", "updatedAt": "2026-10-17T16:14:54.122Z", "duplicate": true } - · POST app request /invocations · approve by stranger refused · HTTP 403
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "decide", "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_SDR" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:54.523822+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "131", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "decide", "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_SDR" }Recorded response · HTTP 403
{ "runId": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_by_stranger_refused" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 167 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 150 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 145 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "665442119284", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:52.843Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8MKNVH1GVY4C6Z42", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:53.135Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:53.275Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17HDIN9X39.PXBVEX", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:53.431Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:53.433Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:52.409Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:52.578Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:52.580Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:52.843Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:53.136Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:53.275Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:53.431Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:53.433Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:53.630Z", "msg": "decision by U_SDR refused: not an approver" }, { "at": "2026-10-17T16:14:54.122Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:14:54.311Z", "msg": "decision by U_SDR refused: not an approver" } ], "createdAt": "2026-10-17T16:14:52.409Z", "updatedAt": "2026-10-17T16:14:54.311Z", "result": "forbidden" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs · approve by stranger refused · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/approve_by_stranger_refused/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:54.801304+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "approve-by-stranger-refused-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "approve_by_stranger_refused" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 167 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 150 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 145 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "665442119284", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:52.843Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8MKNVH1GVY4C6Z42", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:53.135Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_GLSOSIT5S1JYQ82J7LNDMQ0W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:53.275Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17HDIN9X39.PXBVEX", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:53.431Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:53.433Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:52.409Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:52.578Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:52.580Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:52.843Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:53.136Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:53.275Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:53.431Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:53.433Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:53.630Z", "msg": "decision by U_SDR refused: not an approver" }, { "at": "2026-10-17T16:14:54.122Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:14:54.311Z", "msg": "decision by U_SDR refused: not an approver" } ], "createdAt": "2026-10-17T16:14:52.409Z", "updatedAt": "2026-10-17T16:14:54.311Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs · reject · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:54.986769+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · reject · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "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-10-17T16:14:56.189109+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "432", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "reject" } }Recorded response · HTTP 200
{ "runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "reject" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 197 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 163 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 183 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "565624738093", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.428Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8T9CHFTN2S1GQLIE", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.708Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:55.845Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BH2UMM0R.59KLS4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:55.990Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:55.991Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:54.974Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:55.173Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:55.176Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:55.428Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:55.708Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:55.845Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:55.990Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:55.991Z", "msg": "awaiting approval" } ], "createdAt": "2026-10-17T16:14:54.974Z", "updatedAt": "2026-10-17T16:14:55.991Z", "duplicate": false } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 37340d873df4 · processing 4.55ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.55ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request 62d9f5477c4e · processing 2.37ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.37ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-3a32ce" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-da83f3" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 38bd5729f831 · processing 1.69ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.69ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "226", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request 9f6b3c7b9b5f · processing 4.71ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.71ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 311c649a2448 · processing 1.44ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.44ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "226", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request e493c9fee5e3 · processing 11.69ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 11.69ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "139", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "565624738093", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 5e0bf18aca1b · processing 3.24ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.24ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST stripe request · provider traffic · /v1/customers · HTTP 200 · request 74d648c6aa47 · processing 18.07ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 18.07ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "77", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }Recorded response · HTTP 200
{ "address": null, "balance": 0, "business_name": "Sample Business", "cash_balance": null, "created": 21, "currency": "USD", "customer_account": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "[email protected]", "id": "cus_8T9CHFTN2S1GQLIE", "individual_name": "Sample Individual", "invoice_prefix": null, "livemode": false, "name": "Hank Scorpio", "object": "customer", "phone": "+14155550100", "preferred_locales": null, "shipping": null, "tax_exempt": "exempt", "test_clock": null, "metadata": { "company": "Globex" } } - · POST stripe request · provider traffic · /v1/quotes · HTTP 200 · request 23715f437667 · processing 12.46ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "customer": "cus_8T9CHFTN2S1GQLIE", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.46ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "289", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "customer": "cus_8T9CHFTN2S1GQLIE", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_8T9CHFTN2S1GQLIE", "created": 1792253695, "expires_at": 1794845695, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_9H52DQPWRDR8IYH5G7Y5X49W" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 9818e28f14f2 · processing 13.47ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.47ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "200", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_55be2199442e48379d53aa6ade", "client_msg_id": "cli_d41e80e6bd5c4f038494c44c83", "name": "item-bfc68a", "old_name": "Sample Old", "parent_user_id": "par_a185608f6d304909a2ce559405", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17BH2UMM0R.59KLS4" } - · POST app request /invocations · reject · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "decide", "runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "reject", "userId": "U_RVP_SALES" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:56.379974+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "reject", "userId": "U_RVP_SALES" }Recorded response · HTTP 200
{ "runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "REJECTED", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "reject" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 197 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 163 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 183 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "565624738093", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.428Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8T9CHFTN2S1GQLIE", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.708Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:55.845Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "rejected", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "rejected", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BH2UMM0R.59KLS4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:55.990Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 2 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:55.991Z", "decision": "reject", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:56.169Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:54.974Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:55.173Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:55.176Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:55.428Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:55.708Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:55.845Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:55.990Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:55.991Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:56.169Z", "msg": "rejected by U_RVP_SALES" } ], "createdAt": "2026-10-17T16:14:54.974Z", "updatedAt": "2026-10-17T16:14:56.169Z", "result": "recorded" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs · reject · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:56.675781+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "REJECTED", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "reject" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 197 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 163 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 183 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "565624738093", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.428Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8T9CHFTN2S1GQLIE", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.708Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:55.845Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "rejected", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "rejected", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BH2UMM0R.59KLS4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:55.990Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 2 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:55.991Z", "decision": "reject", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:56.169Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:54.974Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:55.173Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:55.176Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:55.428Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:55.708Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:55.845Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:55.990Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:55.991Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:56.169Z", "msg": "rejected by U_RVP_SALES" } ], "createdAt": "2026-10-17T16:14:54.974Z", "updatedAt": "2026-10-17T16:14:56.169Z" } ] } - · POST app request /invocations · reject · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "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-10-17T16:14:56.881855+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "432", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "reject" } }Recorded response · HTTP 200
{ "runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "REJECTED", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "reject" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 197 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 163 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 183 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "565624738093", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.428Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8T9CHFTN2S1GQLIE", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.708Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:55.845Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "rejected", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "rejected", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BH2UMM0R.59KLS4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:55.990Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 2 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:55.991Z", "decision": "reject", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:56.169Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:54.974Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:55.173Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:55.176Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:55.428Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:55.708Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:55.845Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:55.990Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:55.991Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:56.169Z", "msg": "rejected by U_RVP_SALES" }, { "at": "2026-10-17T16:14:56.669Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:54.974Z", "updatedAt": "2026-10-17T16:14:56.669Z", "duplicate": true } - · POST app request /invocations · reject · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "decide", "runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "reject", "userId": "U_RVP_SALES" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:57.061147+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "reject", "userId": "U_RVP_SALES" }Recorded response · HTTP 200
{ "runId": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "REJECTED", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "reject" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 197 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 163 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 183 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "565624738093", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.428Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8T9CHFTN2S1GQLIE", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.708Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:55.845Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "rejected", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "rejected", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BH2UMM0R.59KLS4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:55.990Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 2 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:55.991Z", "decision": "reject", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:56.169Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:54.974Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:55.173Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:55.176Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:55.428Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:55.708Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:55.845Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:55.990Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:55.991Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:56.169Z", "msg": "rejected by U_RVP_SALES" }, { "at": "2026-10-17T16:14:56.669Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:54.974Z", "updatedAt": "2026-10-17T16:14:56.855Z", "result": "already_decided" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs · reject · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/reject/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:57.347281+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "reject-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "REJECTED", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "reject" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 197 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 163 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 183 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "565624738093", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.428Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_8T9CHFTN2S1GQLIE", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:55.708Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_9H52DQPWRDR8IYH5G7Y5X49W", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:55.845Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "rejected", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "rejected", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BH2UMM0R.59KLS4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:55.990Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 2 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:14:55.991Z", "decision": "reject", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:14:56.169Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:14:54.974Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:55.173Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:55.176Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:14:55.428Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:55.708Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:55.845Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:55.990Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:55.991Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:14:56.169Z", "msg": "rejected by U_RVP_SALES" }, { "at": "2026-10-17T16:14:56.669Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:54.974Z", "updatedAt": "2026-10-17T16:14:56.855Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs · discount over policy declined · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:57.531424+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · discount over policy declined · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 40, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "discount_over_policy_declined" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:59.060068+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 40, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "discount_over_policy_declined" } }Recorded response · HTTP 200
{ "runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "discount_over_policy_declined" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 157 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 160 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 156 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (declined)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "163843785545", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:57.920Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_ZBQOC0K2TZND2HNW", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:58.178Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "declined" }, "attempts": 1, "ref": "qt_1KEELQC1KC290NB0H79V711G", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:58.313Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 40, "total": "$980.00", "policy": "declined" }, "attempts": 1, "ref": "qt_1KEELQC1KC290NB0H79V711G", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:58.570Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "e1ac44de-824c-439a-8186-ce16348ec734", "appliedAt": "2026-10-17T16:14:58.701Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "declined" }, "attempts": 1, "ref": "176P0UD0IM.E0QGIR", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:58.851Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "declined" }, "events": [ { "at": "2026-10-17T16:14:57.503Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:57.667Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:57.671Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:14:57.921Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:58.178Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:58.313Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:58.570Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:58.702Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:58.851Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:58.852Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:14:57.503Z", "updatedAt": "2026-10-17T16:14:58.852Z", "duplicate": false } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request 27e5cb1e27f8 · processing 1.95ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.95ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-c63afd" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-20da6d" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 127f4a7b081f · processing 1.28ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.28ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "228", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request db2707a11c42 · processing 2.1ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.1ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request f610330edf95 · processing 3.8ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.8ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 93dd2d1f2e64 · processing 1.37ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.37ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "228", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request 0baa061c93c2 · processing 10.99ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 10.99ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "141", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "163843785545", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 42a356f11eed · processing 3.23ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.23ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST stripe request · provider traffic · /v1/customers · HTTP 200 · request c84391ed4dc4 · processing 18.67ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 18.67ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "79", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }Recorded response · HTTP 200
{ "address": null, "balance": 0, "business_name": "Sample Business", "cash_balance": null, "created": 12, "currency": "USD", "customer_account": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "[email protected]", "id": "cus_ZBQOC0K2TZND2HNW", "individual_name": "Sample Individual", "invoice_prefix": null, "livemode": false, "name": "Hank Scorpio", "object": "customer", "phone": "+14155550100", "preferred_locales": null, "shipping": null, "tax_exempt": "exempt", "test_clock": null, "metadata": { "company": "Globex" } } - · POST stripe request · provider traffic · /v1/quotes · HTTP 200 · request 3a14557f6474 · processing 12.7ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "customer": "cus_ZBQOC0K2TZND2HNW", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "declined", "quoted_total_minor": "98000" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.7ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "311", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "customer": "cus_ZBQOC0K2TZND2HNW", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "declined", "quoted_total_minor": "98000" } }Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_ZBQOC0K2TZND2HNW", "created": 1792253698, "expires_at": 1794845698, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "declined", "quoted_total_minor": "98000" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_1KEELQC1KC290NB0H79V711G" } - · GET stripe request · provider traffic · /v1/quotes/qt_1KEELQC1KC290NB0H79V711G · HTTP 200 · request 8fd21e4f3183 · processing 5.05ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_1KEELQC1KC290NB0H79V711G' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 5.05ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_ZBQOC0K2TZND2HNW", "created": 1792253698, "expires_at": 1794845698, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "declined", "quoted_total_minor": "98000" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_1KEELQC1KC290NB0H79V711G" } - · POST stripe request · provider traffic · /v1/quotes/qt_1KEELQC1KC290NB0H79V711G/finalize · HTTP 200 · request aad3d0fa34a4 · processing 12.23ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_1KEELQC1KC290NB0H79V711G/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.23ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "0", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
No body was saved. This receipt cannot tell whether it was empty or not captured.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": "QT-1KEELQC1-0001-1", "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_ZBQOC0K2TZND2HNW", "created": 1792253698, "expires_at": 1794845698, "status": "open", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "declined", "quoted_total_minor": "98000" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": 1792253698 }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_1KEELQC1KC290NB0H79V711G" } - · POST gmail request · provider traffic · /gmail/v1/users/me/drafts · HTTP 200 · request fa1372d0fdf0 · processing 12.32ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtZGVjbGluZWRAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDgyMzljZTE1Y2QyNjMwOGYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApUb3RhbDogJDk4MC4wMAoKV2UgY2FuJ3Qgb2ZmZXIgdGhlIDQwJSBkaXNjb3VudCByZXF1ZXN0ZWQsIHNvIHRoaXMgcXVvdGUgaXMgYXQgbGlzdCBwcmljZTsgaGFwcHkgdG8gZGlzY3VzcyB2b2x1bWUgcHJpY2luZyBvbiBhIGNhbGwuCgpUaGUgQUNNRSBzYWxlcyB0ZWFt" }, "user_id": "me" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.32ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "642", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtZGVjbGluZWRAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDgyMzljZTE1Y2QyNjMwOGYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApUb3RhbDogJDk4MC4wMAoKV2UgY2FuJ3Qgb2ZmZXIgdGhlIDQwJSBkaXNjb3VudCByZXF1ZXN0ZWQsIHNvIHRoaXMgcXVvdGUgaXMgYXQgbGlzdCBwcmljZTsgaGFwcHkgdG8gZGlzY3VzcyB2b2x1bWUgcHJpY2luZyBvbiBhIGNhbGwuCgpUaGUgQUNNRSBzYWxlcyB0ZWFt" }, "user_id": "me" }Recorded response · HTTP 200
{ "id": "e1ac44de-824c-439a-8186-ce16348ec734", "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtZGVjbGluZWRAZ2xvYmV4LnRlc3QNClN1YmplY3Q6IEFDTUUgcXVvdGUgZm9yIEdsb2JleA0KTWVzc2FnZS1JRDogPDgyMzljZTE1Y2QyNjMwOGYucXVvdGVAb3BzLmFjbWUuZXhhbXBsZT4NCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04Ig0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KDQpIaSBIYW5rLAoKVGhhbmtzIGZvciB5b3VyIHJlcXVlc3QuIEhlcmUgaXMgeW91ciBxdW90ZToKCjIwIMOXIFBybyBQbGFuIGF0ICQ0OS4wMC9tb250aApUb3RhbDogJDk4MC4wMAoKV2UgY2FuJ3Qgb2ZmZXIgdGhlIDQwJSBkaXNjb3VudCByZXF1ZXN0ZWQsIHNvIHRoaXMgcXVvdGUgaXMgYXQgbGlzdCBwcmljZTsgaGFwcHkgdG8gZGlzY3VzcyB2b2x1bWUgcHJpY2luZyBvbiBhIGNhbGwuCgpUaGUgQUNNRSBzYWxlcyB0ZWFt" }, "user_id": "me" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 1ee05177b1dd · processing 13.57ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Requested 40% declined; quoted at list.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.57ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "186", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Requested 40% declined; quoted at list.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_14b262d6424648879d87c54cdc", "client_msg_id": "cli_564604a9b8e6466ebd58cb354d", "name": "item-5351c5", "old_name": "Sample Old", "parent_user_id": "par_6c66ef9fca994372bdf998e451", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "176P0UD0IM.E0QGIR" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs · discount over policy declined · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:59.335527+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "discount_over_policy_declined" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 157 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 160 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 156 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (declined)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "163843785545", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:57.920Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_ZBQOC0K2TZND2HNW", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:58.178Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "declined" }, "attempts": 1, "ref": "qt_1KEELQC1KC290NB0H79V711G", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:58.313Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 40, "total": "$980.00", "policy": "declined" }, "attempts": 1, "ref": "qt_1KEELQC1KC290NB0H79V711G", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:58.570Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "e1ac44de-824c-439a-8186-ce16348ec734", "appliedAt": "2026-10-17T16:14:58.701Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "declined" }, "attempts": 1, "ref": "176P0UD0IM.E0QGIR", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:58.851Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "declined" }, "events": [ { "at": "2026-10-17T16:14:57.503Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:57.667Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:57.671Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:14:57.921Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:58.178Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:58.313Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:58.570Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:58.702Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:58.851Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:58.852Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:14:57.503Z", "updatedAt": "2026-10-17T16:14:58.852Z" } ] } - · POST app request /invocations · discount over policy declined · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 40, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "discount_over_policy_declined" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:59.525691+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 40, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "discount_over_policy_declined" } }Recorded response · HTTP 200
{ "runId": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "discount_over_policy_declined" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 157 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 160 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 156 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (declined)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "163843785545", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:57.920Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_ZBQOC0K2TZND2HNW", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:58.178Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "declined" }, "attempts": 1, "ref": "qt_1KEELQC1KC290NB0H79V711G", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:58.313Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 40, "total": "$980.00", "policy": "declined" }, "attempts": 1, "ref": "qt_1KEELQC1KC290NB0H79V711G", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:58.570Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "e1ac44de-824c-439a-8186-ce16348ec734", "appliedAt": "2026-10-17T16:14:58.701Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "declined" }, "attempts": 1, "ref": "176P0UD0IM.E0QGIR", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:58.851Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "declined" }, "events": [ { "at": "2026-10-17T16:14:57.503Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:57.667Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:57.671Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:14:57.921Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:58.178Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:58.313Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:58.570Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:58.702Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:58.851Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:58.852Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:14:59.312Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:57.503Z", "updatedAt": "2026-10-17T16:14:59.312Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs · discount over policy declined · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/discount_over_policy_declined/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:59.810601+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "discount-over-policy-declined-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "discount_over_policy_declined" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 157 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 160 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 156 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (declined)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "163843785545", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:57.920Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_ZBQOC0K2TZND2HNW", "detail": { "created": true }, "appliedAt": "2026-10-17T16:14:58.178Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "declined" }, "attempts": 1, "ref": "qt_1KEELQC1KC290NB0H79V711G", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:14:58.313Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 40, "total": "$980.00", "policy": "declined" }, "attempts": 1, "ref": "qt_1KEELQC1KC290NB0H79V711G", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:14:58.570Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "e1ac44de-824c-439a-8186-ce16348ec734", "appliedAt": "2026-10-17T16:14:58.701Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "declined" }, "attempts": 1, "ref": "176P0UD0IM.E0QGIR", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:14:58.851Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "declined" }, "events": [ { "at": "2026-10-17T16:14:57.503Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:14:57.667Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:14:57.671Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:14:57.921Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:14:58.178Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:14:58.313Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:14:58.570Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:14:58.702Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:14:58.851Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:14:58.852Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:14:59.312Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:14:57.503Z", "updatedAt": "2026-10-17T16:14:59.312Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs · unknown part manual pricing · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:14:59.995255+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · unknown part manual pricing · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Flux Capacitor", "quantity": 2 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "unknown_part_manual_pricing" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:01.163776+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "485", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Flux Capacitor", "quantity": 2 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "unknown_part_manual_pricing" } }Recorded response · HTTP 200
{ "runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "unknown_part_manual_pricing" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "0 line(s) priced, unknown: Flux Capacitor", "durationMs": 334 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 323 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 339 }, { "name": "quote-composer", "status": "ok", "summary": "$0.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "557273359276", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:00.754Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "179ANCDTR7.VFWNGV", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:00.923Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 0, "quotable": false, "unknownParts": [ "Flux Capacitor" ], "subtotalMinor": 0, "discountPct": 20, "totalMinor": 0, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:00.017Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:00.360Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:00.364Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:00.754Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:00.923Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:00.924Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:15:00.017Z", "updatedAt": "2026-10-17T16:15:00.924Z", "duplicate": false } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request 939910724202 · processing 6.18ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 6.18ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-a6b721" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-eaf1b8" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 9e022b896e7e · processing 6.85ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 6.85ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "232", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request d99cd96f695d · processing 5.46ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 5.46ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request e9c363004ba5 · processing 10.49ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 10.49ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 5ff2dd2bb4c0 · processing 7.46ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 7.46ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "232", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request b583b9cbf5a4 · processing 37.33ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 37.33ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "145", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "557273359276", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 6b53810bbc18 · processing 26.76ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: unknown part(s) Flux Capacitor.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 26.76ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "187", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: unknown part(s) Flux Capacitor.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_c741999a4d254001a6c2e0a979", "client_msg_id": "cli_947aa582348f426abc64013e62", "name": "item-df8f84", "old_name": "Sample Old", "parent_user_id": "par_a4a8089993ef4cfcbd4682118e", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "179ANCDTR7.VFWNGV" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs · unknown part manual pricing · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:01.603080+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "unknown_part_manual_pricing" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "0 line(s) priced, unknown: Flux Capacitor", "durationMs": 334 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 323 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 339 }, { "name": "quote-composer", "status": "ok", "summary": "$0.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "557273359276", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:00.754Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "179ANCDTR7.VFWNGV", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:00.923Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 0, "quotable": false, "unknownParts": [ "Flux Capacitor" ], "subtotalMinor": 0, "discountPct": 20, "totalMinor": 0, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:00.017Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:00.360Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:00.364Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:00.754Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:00.923Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:00.924Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:15:00.017Z", "updatedAt": "2026-10-17T16:15:00.924Z" } ] } - · POST app request /invocations · unknown part manual pricing · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Flux Capacitor", "quantity": 2 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "unknown_part_manual_pricing" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:01.924416+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "485", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Flux Capacitor", "quantity": 2 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "unknown_part_manual_pricing" } }Recorded response · HTTP 200
{ "runId": "unknown-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "unknown_part_manual_pricing" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "0 line(s) priced, unknown: Flux Capacitor", "durationMs": 334 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 323 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 339 }, { "name": "quote-composer", "status": "ok", "summary": "$0.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "557273359276", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:00.754Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "179ANCDTR7.VFWNGV", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:00.923Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 0, "quotable": false, "unknownParts": [ "Flux Capacitor" ], "subtotalMinor": 0, "discountPct": 20, "totalMinor": 0, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:00.017Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:00.360Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:00.364Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:00.754Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:00.923Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:00.924Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:01.586Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:00.017Z", "updatedAt": "2026-10-17T16:15:01.586Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs · unknown part manual pricing · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/unknown_part_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:02.325985+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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-part-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "unknown_part_manual_pricing" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "0 line(s) priced, unknown: Flux Capacitor", "durationMs": 334 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 323 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 339 }, { "name": "quote-composer", "status": "ok", "summary": "$0.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "557273359276", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:00.754Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "179ANCDTR7.VFWNGV", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:00.923Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 0, "quotable": false, "unknownParts": [ "Flux Capacitor" ], "subtotalMinor": 0, "discountPct": 20, "totalMinor": 0, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:00.017Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:00.360Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:00.364Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:00.754Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:00.923Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:00.924Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:01.586Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:00.017Z", "updatedAt": "2026-10-17T16:15:01.586Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs · mixed terms manual pricing · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:02.779944+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · mixed terms manual pricing · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 5 }, { "product": "Enterprise Plan", "quantity": 1 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "mixed_terms_manual_pricing" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:04.120734+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "519", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 5 }, { "product": "Enterprise Plan", "quantity": 1 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "mixed_terms_manual_pricing" } }Recorded response · HTTP 200
{ "runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "mixed_terms_manual_pricing" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "2 line(s) priced", "durationMs": 427 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 433 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 460 }, { "name": "quote-composer", "status": "ok", "summary": "$1,795.20 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "187485716691", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:03.657Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "172TJFRS3W.0PUY29", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:03.855Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 2, "quotable": false, "unknownParts": [], "subtotalMinor": 224400, "discountPct": 20, "totalMinor": 179520, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:02.805Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:03.268Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:03.272Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:03.657Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:03.855Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:03.856Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:15:02.805Z", "updatedAt": "2026-10-17T16:15:03.856Z", "duplicate": false } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request 7b81d5c66460 · processing 5.95ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 5.95ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-a03459" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-61b113" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request 3758a50020aa · processing 7.06ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 7.06ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 633293b8eacc · processing 23.98ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 23.98ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 6a91b50bc1dc · processing 28.31ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 28.31ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "231", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 65c111e60958 · processing 13.74ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.74ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "231", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request 5e08925da9e7 · processing 20.95ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 20.95ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "144", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "187485716691", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 978aa3727c9b · processing 37.7ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: mixed billing terms (month + year); split into separate quotes.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 37.7ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "218", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: mixed billing terms (month + year); split into separate quotes.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_5e41c1463a854418a0b5889531", "client_msg_id": "cli_5f2c907571c94e89a0df43d92f", "name": "item-0ca669", "old_name": "Sample Old", "parent_user_id": "par_33f58c2e015e48cd9c01262ee1", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "172TJFRS3W.0PUY29" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs · mixed terms manual pricing · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:04.560508+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "mixed_terms_manual_pricing" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "2 line(s) priced", "durationMs": 427 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 433 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 460 }, { "name": "quote-composer", "status": "ok", "summary": "$1,795.20 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "187485716691", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:03.657Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "172TJFRS3W.0PUY29", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:03.855Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 2, "quotable": false, "unknownParts": [], "subtotalMinor": 224400, "discountPct": 20, "totalMinor": 179520, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:02.805Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:03.268Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:03.272Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:03.657Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:03.855Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:03.856Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:15:02.805Z", "updatedAt": "2026-10-17T16:15:03.856Z" } ] } - · POST app request /invocations · mixed terms manual pricing · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 5 }, { "product": "Enterprise Plan", "quantity": 1 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "mixed_terms_manual_pricing" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:04.793822+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "519", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 5 }, { "product": "Enterprise Plan", "quantity": 1 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "mixed_terms_manual_pricing" } }Recorded response · HTTP 200
{ "runId": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "mixed_terms_manual_pricing" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "2 line(s) priced", "durationMs": 427 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 433 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 460 }, { "name": "quote-composer", "status": "ok", "summary": "$1,795.20 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "187485716691", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:03.657Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "172TJFRS3W.0PUY29", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:03.855Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 2, "quotable": false, "unknownParts": [], "subtotalMinor": 224400, "discountPct": 20, "totalMinor": 179520, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:02.805Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:03.268Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:03.272Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:03.657Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:03.855Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:03.856Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:04.564Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:02.805Z", "updatedAt": "2026-10-17T16:15:04.564Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs · mixed terms manual pricing · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/mixed_terms_manual_pricing/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:05.172074+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "mixed-terms-manual-pricing-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "mixed_terms_manual_pricing" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "2 line(s) priced", "durationMs": 427 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 433 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 460 }, { "name": "quote-composer", "status": "ok", "summary": "$1,795.20 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "187485716691", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:03.657Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "172TJFRS3W.0PUY29", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:03.855Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 2, "quotable": false, "unknownParts": [], "subtotalMinor": 224400, "discountPct": 20, "totalMinor": 179520, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:02.805Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:03.268Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:03.272Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:03.657Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:03.855Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:03.856Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:04.564Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:02.805Z", "updatedAt": "2026-10-17T16:15:04.564Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs · duplicate start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:05.375953+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · duplicate start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:07.011491+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "458", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" } }Recorded response · HTTP 200
{ "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 180 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 179 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 212 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "524044822198", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:05.838Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_6JZ7AXQFMVLIBB45", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:06.117Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:06.255Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:06.523Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b", "appliedAt": "2026-10-17T16:15:06.662Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "17VTV582DB.MNTHDY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:06.794Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:05.362Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:05.577Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:05.581Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:05.838Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:06.118Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:06.256Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:06.523Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:06.662Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:06.794Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:06.795Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:15:05.362Z", "updatedAt": "2026-10-17T16:15:06.795Z", "duplicate": false } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request ad697e978ddf · processing 4.23ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.23ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-aa31cf" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-66d8b0" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 0f1f1fbe70b7 · processing 4.8ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.8ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request ab4ba41b4d10 · processing 1.61ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.61ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "235", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request 106ea31503ef · processing 3.41ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.41ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request a746c261b6cf · processing 1.25ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.25ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "235", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request 8f1464bbd2bd · processing 10.84ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 10.84ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "148", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "524044822198", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request f10a78bd080d · processing 3.63ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.63ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST stripe request · provider traffic · /v1/customers · HTTP 200 · request 1d83e342b390 · processing 25.24ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 25.24ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "86", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }Recorded response · HTTP 200
{ "address": null, "balance": 0, "business_name": "Sample Business", "cash_balance": null, "created": 39, "currency": "USD", "customer_account": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "[email protected]", "id": "cus_6JZ7AXQFMVLIBB45", "individual_name": "Sample Individual", "invoice_prefix": null, "livemode": false, "name": "Hank Scorpio", "object": "customer", "phone": "+14155550100", "preferred_locales": null, "shipping": null, "tax_exempt": "exempt", "test_clock": null, "metadata": { "company": "Globex" } } - · POST stripe request · provider traffic · /v1/quotes · HTTP 200 · request 9e0d1164a6f0 · processing 12.81ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "customer": "cus_6JZ7AXQFMVLIBB45", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "auto", "quoted_total_minor": "98000" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.81ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "293", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "customer": "cus_6JZ7AXQFMVLIBB45", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "auto", "quoted_total_minor": "98000" } }Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_6JZ7AXQFMVLIBB45", "created": 1792253706, "expires_at": 1794845706, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "auto", "quoted_total_minor": "98000" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_W395RQMQKCEC2UZBP6PP4HJK" } - · GET stripe request · provider traffic · /v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK · HTTP 200 · request 6e956ac2eccf · processing 6.61ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 6.61ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_6JZ7AXQFMVLIBB45", "created": 1792253706, "expires_at": 1794845706, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "auto", "quoted_total_minor": "98000" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_W395RQMQKCEC2UZBP6PP4HJK" } - · POST stripe request · provider traffic · /v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK/finalize · HTTP 200 · request 673550d6727c · processing 15.04ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_W395RQMQKCEC2UZBP6PP4HJK/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 15.04ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "0", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
No body was saved. This receipt cannot tell whether it was empty or not captured.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": "QT-W395RQMQ-0001-1", "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_6JZ7AXQFMVLIBB45", "created": 1792253706, "expires_at": 1794845706, "status": "open", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "auto", "quoted_total_minor": "98000" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": 1792253706 }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_W395RQMQKCEC2UZBP6PP4HJK" } - · POST gmail request · provider traffic · /gmail/v1/users/me/drafts · HTTP 200 · request 9fbf6e6e4865 · processing 14.84ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtZHVwbGljYXRlLXN0YXJ0QGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDw0MGNiMGI1YzZmODlkMjMxLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKVG90YWw6ICQ5ODAuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0" }, "user_id": "me" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 14.84ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "493", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtZHVwbGljYXRlLXN0YXJ0QGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDw0MGNiMGI1YzZmODlkMjMxLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKVG90YWw6ICQ5ODAuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0" }, "user_id": "me" }Recorded response · HTTP 200
{ "id": "e950e0a9-04ba-474f-8d4e-467a07f7430b", "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtZHVwbGljYXRlLXN0YXJ0QGdsb2JleC50ZXN0DQpTdWJqZWN0OiBBQ01FIHF1b3RlIGZvciBHbG9iZXgNCk1lc3NhZ2UtSUQ6IDw0MGNiMGI1YzZmODlkMjMxLnF1b3RlQG9wcy5hY21lLmV4YW1wbGU-DQpNSU1FLVZlcnNpb246IDEuMA0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCINCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCg0KSGkgSGFuaywKClRoYW5rcyBmb3IgeW91ciByZXF1ZXN0LiBIZXJlIGlzIHlvdXIgcXVvdGU6CgoyMCDDlyBQcm8gUGxhbiBhdCAkNDkuMDAvbW9udGgKVG90YWw6ICQ5ODAuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0" }, "user_id": "me" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request be582cd7357c · processing 13.11ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Quote finalized.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.11ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "170", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Quote finalized.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_d2123bd12e4c45f28574d65b0d", "client_msg_id": "cli_1464cc7b9e724142b648bcb045", "name": "item-1c82a1", "old_name": "Sample Old", "parent_user_id": "par_1820c2b7499241b0b0eb022726", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17VTV582DB.MNTHDY" } - · POST app request /invocations · duplicate start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:07.195536+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "458", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" } }Recorded response · HTTP 200
{ "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 180 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 179 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 212 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "524044822198", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:05.838Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_6JZ7AXQFMVLIBB45", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:06.117Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:06.255Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:06.523Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b", "appliedAt": "2026-10-17T16:15:06.662Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "17VTV582DB.MNTHDY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:06.794Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:05.362Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:05.577Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:05.581Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:05.838Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:06.118Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:06.256Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:06.523Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:06.662Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:06.794Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:06.795Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:06.984Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:05.362Z", "updatedAt": "2026-10-17T16:15:06.984Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs · duplicate start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:07.491542+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 180 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 179 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 212 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "524044822198", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:05.838Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_6JZ7AXQFMVLIBB45", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:06.117Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:06.255Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:06.523Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b", "appliedAt": "2026-10-17T16:15:06.662Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "17VTV582DB.MNTHDY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:06.794Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:05.362Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:05.577Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:05.581Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:05.838Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:06.118Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:06.256Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:06.523Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:06.662Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:06.794Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:06.795Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:06.984Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:05.362Z", "updatedAt": "2026-10-17T16:15:06.984Z" } ] } - · POST app request /invocations · duplicate start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:07.683471+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "458", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" } }Recorded response · HTTP 200
{ "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" }, "duplicateStarts": 2, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 180 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 179 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 212 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "524044822198", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:05.838Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_6JZ7AXQFMVLIBB45", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:06.117Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:06.255Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:06.523Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b", "appliedAt": "2026-10-17T16:15:06.662Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "17VTV582DB.MNTHDY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:06.794Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:05.362Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:05.577Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:05.581Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:05.838Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:06.118Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:06.256Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:06.523Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:06.662Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:06.794Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:06.795Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:06.984Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:07.467Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:05.362Z", "updatedAt": "2026-10-17T16:15:07.467Z", "duplicate": true } - · POST app request /invocations · duplicate start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:07.882549+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "458", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" } }Recorded response · HTTP 200
{ "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" }, "duplicateStarts": 3, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 180 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 179 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 212 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "524044822198", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:05.838Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_6JZ7AXQFMVLIBB45", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:06.117Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:06.255Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:06.523Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b", "appliedAt": "2026-10-17T16:15:06.662Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "17VTV582DB.MNTHDY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:06.794Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:05.362Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:05.577Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:05.581Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:05.838Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:06.118Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:06.256Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:06.523Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:06.662Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:06.794Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:06.795Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:06.984Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:07.467Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:07.669Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:05.362Z", "updatedAt": "2026-10-17T16:15:07.669Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs · duplicate start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/duplicate_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:08.181475+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "duplicate-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "duplicate_start" }, "duplicateStarts": 3, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 180 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 179 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 212 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "524044822198", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:05.838Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_6JZ7AXQFMVLIBB45", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:06.117Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:06.255Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_W395RQMQKCEC2UZBP6PP4HJK", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:06.523Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "e950e0a9-04ba-474f-8d4e-467a07f7430b", "appliedAt": "2026-10-17T16:15:06.662Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "17VTV582DB.MNTHDY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:06.794Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:05.362Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:05.577Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:05.581Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:05.838Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:06.118Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:06.256Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:06.523Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:06.662Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:06.794Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:06.795Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:06.984Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:07.467Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:07.669Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:05.362Z", "updatedAt": "2026-10-17T16:15:07.669Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:08.368897+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:09.979408+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }Recorded response · HTTP 200
{ "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:09.776Z", "duplicate": false } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 597ac0049cb5 · processing 1.27ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.27ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "236", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request 94e2a69e7176 · processing 2.27ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.27ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-a9a985" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-afc02f" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request e7e63da203d2 · processing 3.86ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.86ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request baee3ee8dc5c · processing 2.6ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.6ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request e077791ae93d · processing 1.38ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.38ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "236", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request b18dae323cfb · processing 12.14ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.14ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "149", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "837874984419", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 5ffd94b7a26f · processing 4.36ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.36ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST stripe request · provider traffic · /v1/customers · HTTP 200 · request fafabfda816a · processing 21.64ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 21.64ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "87", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }Recorded response · HTTP 200
{ "address": null, "balance": 0, "business_name": "Sample Business", "cash_balance": null, "created": 40, "currency": "USD", "customer_account": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "[email protected]", "id": "cus_4DG6BWGVQ8PG4533", "individual_name": "Sample Individual", "invoice_prefix": null, "livemode": false, "name": "Hank Scorpio", "object": "customer", "phone": "+14155550100", "preferred_locales": null, "shipping": null, "tax_exempt": "exempt", "test_clock": null, "metadata": { "company": "Globex" } } - · POST stripe request · provider traffic · /v1/quotes · HTTP 200 · request be63f679c9da · processing 13.31ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "customer": "cus_4DG6BWGVQ8PG4533", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "auto", "quoted_total_minor": "98000" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.31ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "294", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "customer": "cus_4DG6BWGVQ8PG4533", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "auto", "quoted_total_minor": "98000" } }Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_4DG6BWGVQ8PG4533", "created": 1792253709, "expires_at": 1794845709, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "auto", "quoted_total_minor": "98000" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_WWVPEYH20URK11VVYVYE7CI4" } - · GET stripe request · provider traffic · /v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4 · HTTP 200 · request e9be7d51484b · processing 7.23ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 7.23ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_4DG6BWGVQ8PG4533", "created": 1792253709, "expires_at": 1794845709, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "auto", "quoted_total_minor": "98000" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_WWVPEYH20URK11VVYVYE7CI4" } - · POST stripe request · provider traffic · /v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4/finalize · HTTP 200 · request 45a0338a7dc8 · processing 12.02ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_WWVPEYH20URK11VVYVYE7CI4/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.02ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "0", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
No body was saved. This receipt cannot tell whether it was empty or not captured.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": "QT-WWVPEYH2-0001-1", "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_4DG6BWGVQ8PG4533", "created": 1792253709, "expires_at": 1794845709, "status": "open", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "0", "discount_policy": "auto", "quoted_total_minor": "98000" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": 1792253709 }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_WWVPEYH20URK11VVYVYE7CI4" } - · POST gmail request · provider traffic · /gmail/v1/users/me/drafts · HTTP 200 · request c9151b89f372 · processing 15.28ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtY29uY3VycmVudC1zdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MjMwMzk4NzYzMWI0Y2M1Yi5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoClRvdGFsOiAkOTgwLjAwCgpUaGUgQUNNRSBzYWxlcyB0ZWFt" }, "user_id": "me" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 15.28ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "494", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtY29uY3VycmVudC1zdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MjMwMzk4NzYzMWI0Y2M1Yi5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoClRvdGFsOiAkOTgwLjAwCgpUaGUgQUNNRSBzYWxlcyB0ZWFt" }, "user_id": "me" }Recorded response · HTTP 200
{ "id": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtY29uY3VycmVudC1zdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MjMwMzk4NzYzMWI0Y2M1Yi5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoClRvdGFsOiAkOTgwLjAwCgpUaGUgQUNNRSBzYWxlcyB0ZWFt" }, "user_id": "me" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request ae2f64171e8b · processing 13.11ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Quote finalized.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.11ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "171", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $980.00 at 0% off. Quote finalized.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_6928873f2b2e4e66bf0d3cde6f", "client_msg_id": "cli_74c5377c52364dc687c06a4a4e", "name": "item-ebc4dd", "old_name": "Sample Old", "parent_user_id": "par_47a4020119704ecf9f2e2e5672", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "179MEES6T1.S74BL4" } - · POST app request /invocations · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:10.459409+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }Recorded response · HTTP 200
{ "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 3, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.148Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.254Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:10.254Z", "duplicate": true } - · POST app request /invocations · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:10.250569+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }Recorded response · HTTP 200
{ "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:10.028Z", "duplicate": true } - · POST app request /invocations · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:10.629765+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }Recorded response · HTTP 200
{ "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 2, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.148Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:10.148Z", "duplicate": true } - · POST app request /invocations · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:10.609172+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }Recorded response · HTTP 200
{ "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 4, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.148Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.254Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.386Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:10.386Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:10.922106+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 4, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.148Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.254Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.386Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:10.386Z" } ] } - · POST app request /invocations · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:11.121577+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }Recorded response · HTTP 200
{ "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 5, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.148Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.254Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.386Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.906Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:10.906Z", "duplicate": true } - · POST app request /invocations · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:11.716407+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }Recorded response · HTTP 200
{ "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 9, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.148Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.254Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.386Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.906Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.135Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.270Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.379Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.502Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:11.502Z", "duplicate": true } - · POST app request /invocations · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:11.609073+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }Recorded response · HTTP 200
{ "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 8, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.148Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.254Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.386Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.906Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.135Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.270Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.379Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:11.379Z", "duplicate": true } - · POST app request /invocations · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:11.339829+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }Recorded response · HTTP 200
{ "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 6, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.148Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.254Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.386Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.906Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.135Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:11.135Z", "duplicate": true } - · POST app request /invocations · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:11.484891+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 0, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" } }Recorded response · HTTP 200
{ "runId": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 7, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.148Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.254Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.386Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.906Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.135Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.270Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:11.270Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs · concurrent start · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/concurrent_start/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:12.002012+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "concurrent-start-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "concurrent_start" }, "duplicateStarts": 9, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 182 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 169 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 130 }, { "name": "quote-composer", "status": "ok", "summary": "$980.00 at 0% (auto)", "durationMs": 1 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "837874984419", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:08.812Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_4DG6BWGVQ8PG4533", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:09.095Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:09.235Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "discountPct": 0, "requestedDiscountPct": 0, "total": "$980.00", "policy": "auto" }, "attempts": 1, "ref": "qt_WWVPEYH20URK11VVYVYE7CI4", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:09.500Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "6384d1ce-5d59-42ac-b978-83ea1465f8f9", "appliedAt": "2026-10-17T16:15:09.639Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "auto" }, "attempts": 1, "ref": "179MEES6T1.S74BL4", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:09.774Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 0, "totalMinor": 98000, "policy": "auto" }, "events": [ { "at": "2026-10-17T16:15:08.349Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:08.533Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:08.536Z", "msg": "planned 6 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:08.812Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:09.095Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:09.235Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:09.500Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:09.640Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:09.775Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:09.776Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:10.028Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.148Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.254Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.386Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:10.906Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.135Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.270Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.379Z", "msg": "duplicate start ignored" }, { "at": "2026-10-17T16:15:11.502Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:08.349Z", "updatedAt": "2026-10-17T16:15:11.502Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs · invalid input rejected · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:12.177554+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · invalid input rejected · HTTP 400
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "invalid-input-rejected-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 0 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "invalid_input_rejected" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:12.393913+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "464", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json", "content-length": "93" }Request body
{ "action": "start", "runId": "invalid-input-rejected-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 0 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "invalid_input_rejected" } }Recorded response · HTTP 400
{ "error": "invalid input", "issues": [ "lines.0.quantity: Too small: expected number to be >=1" ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs · invalid input rejected · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:12.671436+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · invalid input rejected · HTTP 400
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "invalid-input-rejected-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 0 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "invalid_input_rejected" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:12.865023+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "464", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json", "content-length": "93" }Request body
{ "action": "start", "runId": "invalid-input-rejected-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 0 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "invalid_input_rejected" } }Recorded response · HTTP 400
{ "error": "invalid input", "issues": [ "lines.0.quantity: Too small: expected number to be >=1" ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs · invalid input rejected · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:13.149719+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs · stripe rate limited · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:13.330098+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · stripe rate limited · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "stripe_rate_limited" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:14.715021+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "471", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "stripe_rate_limited" } }Recorded response · HTTP 200
{ "runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "stripe_rate_limited" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "failed", "error": "stripe 429 rate_limit: GET /v1/products → 429 rate_limit", "errorCode": "stripe:rate_limit", "durationMs": 786 }, { "name": "customer-lookup", "status": "failed", "error": "stripe 429 rate_limit: GET /v1/customers → 429 rate_limit", "errorCode": "stripe:rate_limit", "durationMs": 677 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 175 }, { "name": "quote-composer", "status": "ok", "summary": "$0.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "955310211961", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:14.348Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "17LCQ3PN5C.2JRSEM", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:14.504Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 0, "quotable": false, "unknownParts": [], "subtotalMinor": 0, "discountPct": 20, "totalMinor": 0, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:13.305Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:14.093Z", "msg": "agents: catalog-pricing=failed, customer-lookup=failed, crm-lookup=ok" }, { "at": "2026-10-17T16:15:14.096Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:14.348Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:14.504Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:14.505Z", "msg": "done (partial)" } ], "createdAt": "2026-10-17T16:15:13.305Z", "updatedAt": "2026-10-17T16:15:14.506Z", "duplicate": false } - · GET stripe request · stripe rate limited · /v1/products · HTTP 429 · processing 0.34ms
View sanitized request and response
Curl-style request view
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and 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.34ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · provider traffic · /v1/products · HTTP 429 · request a8d31d83a2b9 · processing 0.34ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.34ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 441b500ba0a3 · processing 1.41ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.41ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "239", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · GET stripe request · stripe rate limited · /v1/prices · HTTP 429 · processing 0.43ms
View sanitized request and response
Curl-style request view
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and 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.43ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · provider traffic · /v1/prices · HTTP 429 · request ab98e1c9fce0 · processing 0.43ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.43ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · stripe rate limited · /v1/products · HTTP 429 · processing 0.44ms
View sanitized request and response
Curl-style request view
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and 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.44ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · provider traffic · /v1/products · HTTP 429 · request 04a7ef4503fd · processing 0.44ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.44ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · stripe rate limited · /v1/customers · HTTP 429 · processing 0.32ms
View sanitized request and response
Curl-style request view
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and 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.32ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · provider traffic · /v1/customers · HTTP 429 · request 6f1423954a0f · processing 0.32ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.32ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · stripe rate limited · /v1/prices · HTTP 429 · processing 0.41ms
View sanitized request and response
Curl-style request view
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and 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.41ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · provider traffic · /v1/prices · HTTP 429 · request 0a876e5a6d2d · processing 0.41ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.41ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · stripe rate limited · /v1/customers · HTTP 429 · processing 0.35ms
View sanitized request and response
Curl-style request view
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and 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.35ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · provider traffic · /v1/customers · HTTP 429 · request 1cc5ec890164 · processing 0.35ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.35ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · stripe rate limited · /v1/customers · HTTP 429 · processing 0.41ms
View sanitized request and response
Curl-style request view
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and 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.41ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · provider traffic · /v1/customers · HTTP 429 · request 63a3917caeb7 · processing 0.41ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.41ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · stripe rate limited · /v1/products · HTTP 429 · processing 0.45ms
View sanitized request and response
Curl-style request view
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and 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.45ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · provider traffic · /v1/products · HTTP 429 · request a26b48d7bdd4 · processing 0.45ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.45ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request db3569b1a2b1 · processing 1.31ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.31ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "239", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · GET stripe request · stripe rate limited · /v1/prices · HTTP 429 · processing 0.48ms
View sanitized request and response
Curl-style request view
curl --request GET '<STRIPE_TWIN_BASE_URL>/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and 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.48ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · GET stripe request · provider traffic · /v1/prices · HTTP 429 · request 01cf7fa5b253 · processing 0.48ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.48ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 429
{ "error": { "type": "invalid_request_error", "code": "rate_limit", "doc_url": "https://stripe.com/docs/error-codes/rate-limit", "message": "Too many requests hit the API too quickly. We recommend an exponential backoff of your requests." } } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request 1676e536a4b1 · processing 10.68ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 10.68ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "152", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "955310211961", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request abf4a2062725 · processing 13.58ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: catalog unavailable.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.58ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "183", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":warning: RFQ from Globex ([email protected]) needs manual pricing: catalog unavailable.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_219b3419b1304452aca585ca69", "client_msg_id": "cli_de016f29721147029c7cccafbf", "name": "item-b158f2", "old_name": "Sample Old", "parent_user_id": "par_b314fe23c7974378941e809343", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17LCQ3PN5C.2JRSEM" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs · stripe rate limited · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:14.998410+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "stripe_rate_limited" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "failed", "error": "stripe 429 rate_limit: GET /v1/products → 429 rate_limit", "errorCode": "stripe:rate_limit", "durationMs": 786 }, { "name": "customer-lookup", "status": "failed", "error": "stripe 429 rate_limit: GET /v1/customers → 429 rate_limit", "errorCode": "stripe:rate_limit", "durationMs": 677 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 175 }, { "name": "quote-composer", "status": "ok", "summary": "$0.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "955310211961", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:14.348Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "17LCQ3PN5C.2JRSEM", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:14.504Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 0, "quotable": false, "unknownParts": [], "subtotalMinor": 0, "discountPct": 20, "totalMinor": 0, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:13.305Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:14.093Z", "msg": "agents: catalog-pricing=failed, customer-lookup=failed, crm-lookup=ok" }, { "at": "2026-10-17T16:15:14.096Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:14.348Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:14.504Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:14.505Z", "msg": "done (partial)" } ], "createdAt": "2026-10-17T16:15:13.305Z", "updatedAt": "2026-10-17T16:15:14.506Z" } ] } - · POST app request /invocations · stripe rate limited · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "stripe_rate_limited" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:15.209829+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "471", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "stripe_rate_limited" } }Recorded response · HTTP 200
{ "runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "stripe_rate_limited" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "failed", "error": "stripe 429 rate_limit: GET /v1/products → 429 rate_limit", "errorCode": "stripe:rate_limit", "durationMs": 786 }, { "name": "customer-lookup", "status": "failed", "error": "stripe 429 rate_limit: GET /v1/customers → 429 rate_limit", "errorCode": "stripe:rate_limit", "durationMs": 677 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 175 }, { "name": "quote-composer", "status": "ok", "summary": "$0.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "955310211961", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:14.348Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "17LCQ3PN5C.2JRSEM", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:14.504Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 0, "quotable": false, "unknownParts": [], "subtotalMinor": 0, "discountPct": 20, "totalMinor": 0, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:13.305Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:14.093Z", "msg": "agents: catalog-pricing=failed, customer-lookup=failed, crm-lookup=ok" }, { "at": "2026-10-17T16:15:14.096Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:14.348Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:14.504Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:14.505Z", "msg": "done (partial)" }, { "at": "2026-10-17T16:15:14.991Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:13.305Z", "updatedAt": "2026-10-17T16:15:14.991Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs · stripe rate limited · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/stripe_rate_limited/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:15.487478+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "stripe-rate-limited-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "stripe_rate_limited" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "failed", "error": "stripe 429 rate_limit: GET /v1/products → 429 rate_limit", "errorCode": "stripe:rate_limit", "durationMs": 786 }, { "name": "customer-lookup", "status": "failed", "error": "stripe 429 rate_limit: GET /v1/customers → 429 rate_limit", "errorCode": "stripe:rate_limit", "durationMs": 677 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 175 }, { "name": "quote-composer", "status": "ok", "summary": "$0.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "955310211961", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:14.348Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": false, "policy": "approval" }, "attempts": 1, "ref": "17LCQ3PN5C.2JRSEM", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:14.504Z", "reconciled": null } ], "counts": { "applied": 2, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "output": { "company": "Globex", "pricedLines": 0, "quotable": false, "unknownParts": [], "subtotalMinor": 0, "discountPct": 20, "totalMinor": 0, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:13.305Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:14.093Z", "msg": "agents: catalog-pricing=failed, customer-lookup=failed, crm-lookup=ok" }, { "at": "2026-10-17T16:15:14.096Z", "msg": "planned 2 action(s): 0 need approval" }, { "at": "2026-10-17T16:15:14.348Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:14.504Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:14.505Z", "msg": "done (partial)" }, { "at": "2026-10-17T16:15:14.991Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:13.305Z", "updatedAt": "2026-10-17T16:15:14.991Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs · hubspot auth failure · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:15.669354+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · hubspot auth failure · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "hubspot_auth_failure" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:16.570212+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "474", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "hubspot_auth_failure" } }Recorded response · HTTP 200
{ "runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "hubspot_auth_failure" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 154 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 174 }, { "name": "crm-lookup", "status": "failed", "error": "hubspot 401 unauthorized: POST /crm/v3/objects/contacts/search → 401 unauthorized", "errorCode": "hubspot:unauthorized", "durationMs": 170 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_2WW2Z4BCBWFSZPMX", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:16.094Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_IQ3ROXCFIXKE6N8RR0SFWJUO", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:16.233Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "171U4LKBPR.3Q1VS6", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:16.368Z", "reconciled": null } ], "counts": { "applied": 3, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:15:16.370Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:15.649Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:15.826Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=failed" }, { "at": "2026-10-17T16:15:15.829Z", "msg": "planned 5 action(s): 2 need approval" }, { "at": "2026-10-17T16:15:16.094Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:16.234Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:16.369Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:16.370Z", "msg": "awaiting approval" } ], "createdAt": "2026-10-17T16:15:15.649Z", "updatedAt": "2026-10-17T16:15:16.370Z", "duplicate": false } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request bde0680301ca · processing 3.45ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.45ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-761b67" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-2e4b98" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request d9e6604227d7 · processing 3.88ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.88ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request ead6f3e67656 · processing 8.02ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 8.02ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST hubspot request · hubspot auth failure · /crm/v3/objects/contacts/search · HTTP 401 · processing 0.2ms
View sanitized request and response
Curl-style request view
curl --request POST '<HUBSPOT_TWIN_BASE_URL>/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and 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.2ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "240", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 401
{ "errors": [ { "status": "401", "code": "unauthorized", "detail": "Invalid API key or expired credentials" } ] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 401 · request 6c9b47f30ae7 · processing 0.2ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.2ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "240", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 401
{ "errors": [ { "status": "401", "code": "unauthorized", "detail": "Invalid API key or expired credentials" } ] } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 512e3b58d099 · processing 4.75ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.75ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST stripe request · provider traffic · /v1/customers · HTTP 200 · request 6e05c27f0015 · processing 15.32ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 15.32ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "91", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }Recorded response · HTTP 200
{ "address": null, "balance": 0, "business_name": "Sample Business", "cash_balance": null, "created": 21, "currency": "USD", "customer_account": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "[email protected]", "id": "cus_2WW2Z4BCBWFSZPMX", "individual_name": "Sample Individual", "invoice_prefix": null, "livemode": false, "name": "Hank Scorpio", "object": "customer", "phone": "+14155550100", "preferred_locales": null, "shipping": null, "tax_exempt": "exempt", "test_clock": null, "metadata": { "company": "Globex" } } - · POST stripe request · provider traffic · /v1/quotes · HTTP 200 · request 5aa00ffe6261 · processing 12.01ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "customer": "cus_2WW2Z4BCBWFSZPMX", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.01ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "303", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "customer": "cus_2WW2Z4BCBWFSZPMX", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_2WW2Z4BCBWFSZPMX", "created": 1792253716, "expires_at": 1794845716, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_IQ3ROXCFIXKE6N8RR0SFWJUO" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 0777a83124e8 · processing 13.23ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.23ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "214", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_48ba4f8611034757af8eca481c", "client_msg_id": "cli_9e8bdb0906f8422eb9354f0631", "name": "item-de44c7", "old_name": "Sample Old", "parent_user_id": "par_5a6d50fe56504f908b08004e3a", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "171U4LKBPR.3Q1VS6" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs · hubspot auth failure · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:16.856150+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "hubspot_auth_failure" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 154 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 174 }, { "name": "crm-lookup", "status": "failed", "error": "hubspot 401 unauthorized: POST /crm/v3/objects/contacts/search → 401 unauthorized", "errorCode": "hubspot:unauthorized", "durationMs": 170 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_2WW2Z4BCBWFSZPMX", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:16.094Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_IQ3ROXCFIXKE6N8RR0SFWJUO", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:16.233Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "171U4LKBPR.3Q1VS6", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:16.368Z", "reconciled": null } ], "counts": { "applied": 3, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:15:16.370Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:15.649Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:15.826Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=failed" }, { "at": "2026-10-17T16:15:15.829Z", "msg": "planned 5 action(s): 2 need approval" }, { "at": "2026-10-17T16:15:16.094Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:16.234Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:16.369Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:16.370Z", "msg": "awaiting approval" } ], "createdAt": "2026-10-17T16:15:15.649Z", "updatedAt": "2026-10-17T16:15:16.370Z" } ] } - · POST app request /invocations · hubspot auth failure · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "hubspot_auth_failure" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:17.050443+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "474", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "hubspot_auth_failure" } }Recorded response · HTTP 200
{ "runId": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "hubspot_auth_failure" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 154 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 174 }, { "name": "crm-lookup", "status": "failed", "error": "hubspot 401 unauthorized: POST /crm/v3/objects/contacts/search → 401 unauthorized", "errorCode": "hubspot:unauthorized", "durationMs": 170 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_2WW2Z4BCBWFSZPMX", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:16.094Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_IQ3ROXCFIXKE6N8RR0SFWJUO", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:16.233Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "171U4LKBPR.3Q1VS6", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:16.368Z", "reconciled": null } ], "counts": { "applied": 3, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:15:16.370Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:15.649Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:15.826Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=failed" }, { "at": "2026-10-17T16:15:15.829Z", "msg": "planned 5 action(s): 2 need approval" }, { "at": "2026-10-17T16:15:16.094Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:16.234Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:16.369Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:16.370Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:15:16.841Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:15.649Z", "updatedAt": "2026-10-17T16:15:16.841Z", "duplicate": true } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs · hubspot auth failure · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/hubspot_auth_failure/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:17.393944+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "hubspot-auth-failure-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "hubspot_auth_failure" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 154 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 174 }, { "name": "crm-lookup", "status": "failed", "error": "hubspot 401 unauthorized: POST /crm/v3/objects/contacts/search → 401 unauthorized", "errorCode": "hubspot:unauthorized", "durationMs": 170 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 1 } ], "actions": [ { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_2WW2Z4BCBWFSZPMX", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:16.094Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_IQ3ROXCFIXKE6N8RR0SFWJUO", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:16.233Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "171U4LKBPR.3Q1VS6", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:16.368Z", "reconciled": null } ], "counts": { "applied": 3, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:15:16.370Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:15.649Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:15.826Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=failed" }, { "at": "2026-10-17T16:15:15.829Z", "msg": "planned 5 action(s): 2 need approval" }, { "at": "2026-10-17T16:15:16.094Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:16.234Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:16.369Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:16.370Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:15:16.841Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:15.649Z", "updatedAt": "2026-10-17T16:15:16.841Z" } ] } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:17.578950+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": [] } - · POST app request /invocations · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "restart_while_parked" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:19.020400+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "restart_while_parked" } }Recorded response · HTTP 200
{ "runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "AWAITING_APPROVAL", "closed": false, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "restart_while_parked" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 384 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 164 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 164 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "238139491183", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.225Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_I8W8TUYI0VRD8VVY", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.531Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:18.670Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 0, "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "pending_approval", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 0, "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BUOHFRDQ.29G7JY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:18.808Z", "reconciled": null } ], "counts": { "applied": 4, "failed": 0, "pendingApproval": 2, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:15:18.810Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:17.579Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:17.966Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:17.969Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:15:18.225Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:18.531Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:18.670Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:18.809Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:18.810Z", "msg": "awaiting approval" } ], "createdAt": "2026-10-17T16:15:17.579Z", "updatedAt": "2026-10-17T16:15:18.810Z", "duplicate": false } - · GET stripe request · provider traffic · /v1/products · HTTP 200 · request 4e06b52513b4 · processing 2.2ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/products' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.2ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "prod_SaaS_ProPlan", "object": "product", "name": "Pro Plan", "description": "Full-featured SaaS subscription with priority support and 100GB storage", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/pro", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "pro" }, "marketing_features": [ { "name": "item-d43359" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null }, { "id": "prod_SaaS_EntPlan", "object": "product", "name": "Enterprise Plan", "description": "Unlimited seats, dedicated infrastructure, SLA 99.99%, custom integrations", "active": true, "unit_label": "seat", "url": "https://acmecorp.com/pricing/enterprise", "images": [], "livemode": false, "created": "2024-06-01T08:00:00Z", "updated": "2025-01-10T12:00:00Z", "metadata": { "category": "subscription", "tier": "enterprise" }, "marketing_features": [ { "name": "item-d89fef" } ], "default_price": null, "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null } ], "has_more": false, "object": "list", "url": "/v1/products" } - · GET stripe request · provider traffic · /v1/prices · HTTP 200 · request 27b5afe29851 · processing 2.76ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/prices' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.76ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }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": "price_1Pro_Monthly_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 4900, "unit_amount_decimal": "4900", "product": "prod_SaaS_ProPlan", "type": "recurring", "recurring": { "interval": "month", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null }, { "id": "price_1Ent_Annual_USD", "object": "price", "active": true, "currency": "usd", "unit_amount": 199900, "unit_amount_decimal": "199900", "product": "prod_SaaS_EntPlan", "type": "recurring", "recurring": { "interval": "year", "interval_count": 1, "usage_type": "licensed", "aggregate_usage": null }, "billing_scheme": "per_unit", "livemode": false, "created": "2024-06-01T08:00:00Z", "metadata": {}, "custom_unit_amount": null, "lookup_key": null, "nickname": null, "tax_behavior": null, "tiers_mode": null, "transform_quantity": null } ], "has_more": false, "object": "list", "url": "/v1/prices" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 268b705e4350 · processing 5.24ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 5.24ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 710181d57cbb · processing 1.45ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.45ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "227", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts/search · HTTP 200 · request 30ba84928323 · processing 1.27ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts/search' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is 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.27ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "227", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "filterGroups": [ { "filters": [ { "propertyName": "email", "operator": "EQ", "value": "[email protected]" } ] } ], "properties": [ "email", "firstname", "lastname", "company", "lifecyclestage", "hs_lead_status", "hubspot_owner_id" ], "limit": 10 }Recorded response · HTTP 200
{ "total": 0, "results": [] } - · POST hubspot request · provider traffic · /crm/v3/objects/contacts · HTTP 201 · request 2d259fc4f7f0 · processing 11.01ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/ae6a5577c9/crm/v3/objects/contacts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 11.01ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "140", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" } }Recorded response · HTTP 201
{ "archived": false, "createdAt": "2019-10-30T03:30:17.883Z", "id": "238139491183", "properties": { "email": "[email protected]", "firstname": "Hank", "company": "Globex", "lastname": "Scorpio", "lifecyclestage": "opportunity" }, "updatedAt": "2019-12-07T16:50:06.678Z" } - · GET stripe request · provider traffic · /v1/customers · HTTP 200 · request 2638b6d1f7d8 · processing 3.32ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.32ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "data": [], "has_more": false, "object": "list", "url": "/v1/customers" } - · POST stripe request · provider traffic · /v1/customers · HTTP 200 · request d1271b5720ee · processing 15.89ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/customers' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 15.89ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "78", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "email": "[email protected]", "name": "Hank Scorpio", "metadata": { "company": "Globex" } }Recorded response · HTTP 200
{ "address": null, "balance": 0, "business_name": "Sample Business", "cash_balance": null, "created": 98, "currency": "USD", "customer_account": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "[email protected]", "id": "cus_I8W8TUYI0VRD8VVY", "individual_name": "Sample Individual", "invoice_prefix": null, "livemode": false, "name": "Hank Scorpio", "object": "customer", "phone": "+14155550100", "preferred_locales": null, "shipping": null, "tax_exempt": "exempt", "test_clock": null, "metadata": { "company": "Globex" } } - · POST stripe request · provider traffic · /v1/quotes · HTTP 200 · request e456d537dac3 · processing 12.81ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded' \ --data-raw '{ "customer": "cus_I8W8TUYI0VRD8VVY", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.81ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "303", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "customer": "cus_I8W8TUYI0VRD8VVY", "line_items[0][price]": "price_1Pro_Monthly_USD", "line_items[0][quantity]": "20", "metadata": { "rfq_run": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" } }Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_I8W8TUYI0VRD8VVY", "created": 1792253718, "expires_at": 1794845718, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 00cc1ce717ba · processing 13.17ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/fe91b5083b/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.17ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "201", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0GENERAL01", "text": ":memo: RFQ from Globex ([email protected]): $784.00 at 20% off. 20% discount needs approval before the quote goes out.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0GENERAL01", "message": { "bot_id": "bot_a91a61f4902a4461bc9b2c3f80", "client_msg_id": "cli_83d96e1f2b8f406dbbe820b05d", "name": "item-932d36", "old_name": "Sample Old", "parent_user_id": "par_9419c729bae14cab96b84f9d11", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17BUOHFRDQ.29G7JY" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:19.194874+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:19.374219+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:19.792043+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:20.237239+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:20.663827+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:21.096112+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:21.525682+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:21.963290+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:22.435687+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:22.874755+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:23.305047+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:23.742184+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "ea199aa6-f659-410b-a951-7710e51a005d", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:14:42.306Z" } - · GET app request /verify/runtime · restart while parked · HTTP 502
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:24.180793+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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
No response body was saved.
- · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:24.620251+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · POST app request /invocations · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "decide", "runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_RVP_SALES" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:25.466059+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "130", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "decide", "runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_RVP_SALES" }Recorded response · HTTP 200
{ "runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "restart_while_parked" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 384 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 164 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 164 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "238139491183", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.225Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_I8W8TUYI0VRD8VVY", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.531Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:18.670Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:25.101Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "fd4f681e-565f-4c06-918a-47a4450fdbf1", "appliedAt": "2026-10-17T16:15:25.255Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BUOHFRDQ.29G7JY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:18.808Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:15:18.810Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:15:24.618Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:17.579Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:17.966Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:17.969Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:15:18.225Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:18.531Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:18.670Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:18.809Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:18.810Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:15:24.618Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:15:25.101Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:25.255Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:25.257Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:15:17.579Z", "updatedAt": "2026-10-17T16:15:25.257Z", "result": "recorded" } - · GET stripe request · provider traffic · /v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2 · HTTP 200 · request 2ccb30bd9347 · processing 5.98ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 5.98ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": null, "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_I8W8TUYI0VRD8VVY", "created": 1792253718, "expires_at": 1794845718, "status": "draft", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": null }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2" } - · POST stripe request · provider traffic · /v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2/finalize · HTTP 200 · request cbc9032adb5f · processing 32.48ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/451bef1458/v1/quotes/qt_PYKGHFJ8ZB12CZCNFJ3MCOG2/finalize' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/x-www-form-urlencoded'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 32.48ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "0", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/x-www-form-urlencoded" }Recorded response headers
Response headers were not saved in this run.
Request body
No body was saved. This receipt cannot tell whether it was empty or not captured.
Recorded response · HTTP 200
{ "application": null, "application_fee_amount": null, "application_fee_percent": null, "customer_account": null, "description": null, "footer": null, "from_quote": null, "header": null, "invoice": null, "number": "QT-PYKGHFJ8-0001-1", "on_behalf_of": null, "subscription": null, "subscription_schedule": null, "test_clock": null, "transfer_data": null, "object": "quote", "amount_subtotal": 98000, "amount_total": 98000, "currency": "usd", "customer": "cus_I8W8TUYI0VRD8VVY", "created": 1792253718, "expires_at": 1794845718, "status": "open", "livemode": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "collection_method": "charge_automatically", "computed": { "upfront": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 } }, "recurring": { "amount_subtotal": 98000, "amount_total": 98000, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "interval": "month", "interval_count": 1 } }, "default_tax_rates": [], "discounts": [], "metadata": { "rfq_run": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "discount_pct": "20", "discount_policy": "approval", "quoted_total_minor": "78400" }, "total_details": { "amount_discount": 0, "amount_shipping": 0, "amount_tax": 0 }, "invoice_settings": { "days_until_due": null, "issuer": { "type": "self" } }, "status_transitions": { "accepted_at": null, "canceled_at": null, "finalized_at": 1792253725 }, "subscription_data": { "billing_mode": { "type": "flexible", "flexible": { "proration_discounts": "included" } }, "description": null, "effective_date": null, "metadata": null, "trial_period_days": null }, "id": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2" } - · POST gmail request · provider traffic · /gmail/v1/users/me/drafts · HTTP 200 · request 429e3d37f5db · processing 14.21ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/9426bd5b31/gmail/v1/users/me/drafts' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtcmVzdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MDZhNDI4ZTEwMDI1NTkwOC5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoCkRpc2NvdW50OiAyMCUKVG90YWw6ICQ3ODQuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0" }, "user_id": "me" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 14.21ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "501", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtcmVzdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MDZhNDI4ZTEwMDI1NTkwOC5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoCkRpc2NvdW50OiAyMCUKVG90YWw6ICQ3ODQuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0" }, "user_id": "me" }Recorded response · HTTP 200
{ "id": "fd4f681e-565f-4c06-918a-47a4450fdbf1", "message": { "raw": "RnJvbTogbWUNClRvOiByZnEtcmVzdGFydEBnbG9iZXgudGVzdA0KU3ViamVjdDogQUNNRSBxdW90ZSBmb3IgR2xvYmV4DQpNZXNzYWdlLUlEOiA8MDZhNDI4ZTEwMDI1NTkwOC5xdW90ZUBvcHMuYWNtZS5leGFtcGxlPg0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQoNCkhpIEhhbmssCgpUaGFua3MgZm9yIHlvdXIgcmVxdWVzdC4gSGVyZSBpcyB5b3VyIHF1b3RlOgoKMjAgw5cgUHJvIFBsYW4gYXQgJDQ5LjAwL21vbnRoCkRpc2NvdW50OiAyMCUKVG90YWw6ICQ3ODQuMDAKClRoZSBBQ01FIHNhbGVzIHRlYW0" }, "user_id": "me" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:25.756837+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "restart_while_parked" }, "duplicateStarts": 0, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 384 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 164 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 164 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "238139491183", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.225Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_I8W8TUYI0VRD8VVY", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.531Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:18.670Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:25.101Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "fd4f681e-565f-4c06-918a-47a4450fdbf1", "appliedAt": "2026-10-17T16:15:25.255Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BUOHFRDQ.29G7JY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:18.808Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:15:18.810Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:15:24.618Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:17.579Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:17.966Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:17.969Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:15:18.225Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:18.531Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:18.670Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:18.809Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:18.810Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:15:24.618Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:15:25.101Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:25.255Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:25.257Z", "msg": "done (ok)" } ], "createdAt": "2026-10-17T16:15:17.579Z", "updatedAt": "2026-10-17T16:15:25.257Z" } ] } - · POST app request /invocations · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "restart_while_parked" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:25.963621+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "input": { "buyer": { "email": "[email protected]", "firstname": "Hank", "lastname": "Scorpio" }, "company": "Globex", "lines": [ { "product": "Pro Plan", "quantity": 20 } ], "requestedDiscountPct": 20, "salesChannel": "C0GENERAL01", "approvers": [ "U_RVP_SALES" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "restart_while_parked" } }Recorded response · HTTP 200
{ "runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "restart_while_parked" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 384 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 164 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 164 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "238139491183", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.225Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_I8W8TUYI0VRD8VVY", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.531Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:18.670Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:25.101Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "fd4f681e-565f-4c06-918a-47a4450fdbf1", "appliedAt": "2026-10-17T16:15:25.255Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BUOHFRDQ.29G7JY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:18.808Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:15:18.810Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:15:24.618Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:17.579Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:17.966Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:17.969Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:15:18.225Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:18.531Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:18.670Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:18.809Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:18.810Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:15:24.618Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:15:25.101Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:25.255Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:25.257Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:25.742Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:17.579Z", "updatedAt": "2026-10-17T16:15:25.742Z", "duplicate": true } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:26.151382+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:26.340270+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:26.785358+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:27.221392+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:27.667502+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:28.107569+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:28.542633+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:28.966881+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:29.402810+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:29.823619+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:30.277017+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:30.705140+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:31.150298+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:31.570515+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:32.007476+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:32.431606+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:32.864742+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:33.297018+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:33.729944+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:34.158580+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:34.594732+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:35.033281+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:35.474199+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:35.907598+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:36.357130+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "a647ba7c-ae8b-4478-91ee-7b60224e3b71", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:24.329Z" } - · GET app request /verify/runtime · restart while parked · HTTP 502
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:36.799997+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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
No response body was saved.
- · GET app request /verify/runtime · restart while parked · HTTP 502
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:37.243798+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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
No response body was saved.
- · GET app request /verify/runtime · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runtime' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:37.681351+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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": "d3b042d4-c545-4abf-be34-1aae14c52999", "workflow": "rfq-quote", "startedAt": "2026-10-17T16:15:37.112Z" } - · POST app request /invocations · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "decide", "runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_RVP_SALES" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:37.867243+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "130", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "decide", "runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "decision": "approve", "userId": "U_RVP_SALES" }Recorded response · HTTP 200
{ "runId": "restart-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "restart_while_parked" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 384 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 164 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 164 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "238139491183", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.225Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_I8W8TUYI0VRD8VVY", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.531Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:18.670Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:25.101Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "fd4f681e-565f-4c06-918a-47a4450fdbf1", "appliedAt": "2026-10-17T16:15:25.255Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BUOHFRDQ.29G7JY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:18.808Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:15:18.810Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:15:24.618Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:17.579Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:17.966Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:17.969Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:15:18.225Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:18.531Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:18.670Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:18.809Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:18.810Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:15:24.618Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:15:25.101Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:25.255Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:25.257Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:25.742Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:17.579Z", "updatedAt": "2026-10-17T16:15:37.661Z", "result": "already_decided" } - · GET app request /verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs · restart while parked · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/d74a4758632f0785d769537e166b9accd586620dc8ab0180/verify/runs/vr_9d553a7d44fe4af4b760c3f63e937ffb/cases/restart_while_parked/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_9d553a7d44fe4af4b760c3f63e937ffb' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-17T16:15:38.149555+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "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-while-parked-vr_9d553a7d44fe4af4b760c3f63e937ffb", "workflow": "rfq-quote", "org": "Sales", "team": "sales-ops", "phase": "DONE", "closed": true, "outcome": "ok", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_9d553a7d44fe4af4b760c3f63e937ffb", "fs_case": "restart_while_parked" }, "duplicateStarts": 1, "agents": [ { "name": "catalog-pricing", "status": "ok", "summary": "1 line(s) priced", "durationMs": 384 }, { "name": "customer-lookup", "status": "ok", "summary": "new Stripe customer", "durationMs": 164 }, { "name": "crm-lookup", "status": "ok", "summary": "new contact", "durationMs": 164 }, { "name": "quote-composer", "status": "ok", "summary": "$784.00 at 20% (approval)", "durationMs": 0 } ], "actions": [ { "id": "hubspot.upsert_buyer", "kind": "hubspot.upsert_buyer", "provider": "hubspot", "agent": "crm-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "company": "Globex", "stage": "opportunity" }, "attempts": 1, "ref": "238139491183", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.225Z", "reconciled": null }, { "id": "stripe.ensure_customer", "kind": "stripe.ensure_customer", "provider": "stripe", "agent": "customer-lookup", "gate": "auto", "status": "applied", "summary": { "email": "[email protected]", "existing": null }, "attempts": 1, "ref": "cus_I8W8TUYI0VRD8VVY", "detail": { "created": true }, "appliedAt": "2026-10-17T16:15:18.531Z", "reconciled": null }, { "id": "stripe.draft_quote", "kind": "stripe.draft_quote", "provider": "stripe", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "lines": 1, "subtotal": "$980.00", "discountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "draft" }, "appliedAt": "2026-10-17T16:15:18.670Z", "reconciled": null }, { "id": "stripe.finalize_quote", "kind": "stripe.finalize_quote", "provider": "stripe", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "discountPct": 20, "requestedDiscountPct": 20, "total": "$784.00", "policy": "approval" }, "attempts": 1, "ref": "qt_PYKGHFJ8ZB12CZCNFJ3MCOG2", "detail": { "status": "open" }, "appliedAt": "2026-10-17T16:15:25.101Z", "reconciled": null }, { "id": "gmail.draft_quote_cover", "kind": "gmail.draft_quote_cover", "provider": "gmail", "agent": "quote-composer", "gate": "approval", "status": "applied", "summary": { "to": "[email protected]", "subject": "ACME quote for Globex", "draftedBy": "template", "sent": false }, "attempts": 1, "ref": "fd4f681e-565f-4c06-918a-47a4450fdbf1", "appliedAt": "2026-10-17T16:15:25.255Z", "reconciled": null }, { "id": "slack.post_rfq", "kind": "slack.post_rfq", "provider": "slack", "agent": "quote-composer", "gate": "auto", "status": "applied", "summary": { "channel": "C0GENERAL01", "quotable": true, "policy": "approval" }, "attempts": 1, "ref": "17BUOHFRDQ.29G7JY", "detail": { "channel": "C0GENERAL01" }, "appliedAt": "2026-10-17T16:15:18.808Z", "reconciled": null } ], "counts": { "applied": 6, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0 }, "approval": { "approvers": [ "U_RVP_SALES" ], "expiresAt": "2026-10-18T16:15:18.810Z", "decision": "approve", "decidedBy": "U_RVP_SALES", "decidedAt": "2026-10-17T16:15:24.618Z" }, "output": { "company": "Globex", "pricedLines": 1, "quotable": true, "unknownParts": [], "subtotalMinor": 98000, "discountPct": 20, "totalMinor": 78400, "policy": "approval" }, "events": [ { "at": "2026-10-17T16:15:17.579Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-17T16:15:17.966Z", "msg": "agents: catalog-pricing=ok, customer-lookup=ok, crm-lookup=ok" }, { "at": "2026-10-17T16:15:17.969Z", "msg": "planned 6 action(s): 2 need approval" }, { "at": "2026-10-17T16:15:18.225Z", "msg": "hubspot.upsert_buyer: applied" }, { "at": "2026-10-17T16:15:18.531Z", "msg": "stripe.ensure_customer: applied" }, { "at": "2026-10-17T16:15:18.670Z", "msg": "stripe.draft_quote: applied" }, { "at": "2026-10-17T16:15:18.809Z", "msg": "slack.post_rfq: applied" }, { "at": "2026-10-17T16:15:18.810Z", "msg": "awaiting approval" }, { "at": "2026-10-17T16:15:24.618Z", "msg": "approved by U_RVP_SALES" }, { "at": "2026-10-17T16:15:25.101Z", "msg": "stripe.finalize_quote: applied" }, { "at": "2026-10-17T16:15:25.255Z", "msg": "gmail.draft_quote_cover: applied" }, { "at": "2026-10-17T16:15:25.257Z", "msg": "done (ok)" }, { "at": "2026-10-17T16:15:25.742Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-17T16:15:17.579Z", "updatedAt": "2026-10-17T16:15:37.661Z" } ] }
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.