GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}}
GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}} CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 CONNECT cdn.acme.dev:443 HTTP/1.1 · tunnelled not decrypted · reason: not on SSL include list · bytes: 48.2 KB 312ms · pinning: none GET /v2/catalog?limit=24 HTTP/2 · host: api.acme.dev · authorization: Bearer eyJhbGciOi… · :status: 200 142ms h2 · {"items":[{"sku":"LENS-01","price":49.99}]} POST /v1/intents HTTP/2 · host: payments.acme.dev · idempotency-key: 8f1c2e0a-77d4 · :status: 500 1.21s retryable · {"error":"upstream_timeout"} POST /oauth/token HTTP/1.1 · grant_type=refresh_token · client_id=ios-app · :status: 401 invalid_grant · {"error":"invalid_grant"} POST /graphql HTTP/2 · host: graphql.acme.dev · {"operationName":"CartSummary"} · :status: 200 with errors · {"errors":[{"message":"promo: rate limited"}]} GET /socket?v=3 HTTP/1.1 · upgrade: websocket · sec-websocket-version: 13 · ← {"type":"cart.updated","count":2} · → {"type":"cart.ack","id":"cart_8842"} POST /acme.inventory.v1.Inventory/GetStock · content-type: application/grpc · te: trailers grpc-timeout: 5S · grpc-status: 0 sku: LENS-02 · available: 0 restockEta: 2026-09-18 PUT /v2/addresses/home HTTP/2 · host: api.acme.dev · content-type: application/json · :status: 200 167ms · {"id":"addr_home","country":"US"} GET /v1/flags HTTP/2 · host: flags.acme.dev · x-app-version: 4.2.1 (ios) · :status: 304 etag hit · if-none-match: W/"lens-v2" POST /v2/cart/items HTTP/2 · host: api.acme.dev · {"sku":"LENS-01","quantity":2} · :status: 201 211ms · {"cart":{"id":"cart_8842","total":99.98}}
Your network,
under the lens.
A native HTTP(S) debugging proxy for Mac, iPhone and Android. See every request your apps make, decrypt the hosts you care about, and change anything before it arrives. It all stays on your device.
Free to use · macOS 14+ · Apple silicon · iOS 17+ · iPhone & iPad · Android 10+

Read the headers, body and timing of any request.
A request opens with its response beside it, and both sides have tabs for headers, body, the raw message and a summary. WireLens decrypts the hosts you add to SSL Proxying.
JSON opens as a tree you can fold, search and narrow with jq or JSONPath, and query strings read as a table. Images, HTML, XML, forms and event streams each have their own viewer.
The WireLens Flow window with a GET request's query parameters in a table and its JSON response as a tree.
Bounded jq: fields, indexes, iteration, pipes, select/map, constructors, keys, length, has, and arithmetic.
Change what your app
gets back.
Pause a request and edit it. Answer it from your Mac. Send it to staging. Every tool matches on a URL pattern, and anything a tool touched is marked on the row it touched.
Stop a request in mid-air and edit it.
A breakpoint holds a matching request or response until you decide what happens to it. Change the URL, the headers, the status or the body, then send it on, abort it, or take another minute.
- Pause on the request, the response, or both
- What you edit is what the app receives
- Every pause has a timeout; a forgotten breakpoint releases itself
Speaks every protocol your app does.
A 200 does not always mean it worked. WireLens reads the parts of a response where modern APIs really report failure.
HTTP/1.1 and HTTP/2
Both versions, negotiated per connection and labelled on every request.
WebSocket
The upgrade, then every frame in both directions with its timing and opcode.
gRPC
A failed call is shown as a failure, not as the HTTP 200 it arrives in. Streaming calls keep flowing.
GraphQL
Operation names in the traffic list, and a response that carries errors is marked as failed.
Protobuf
Readable without a schema, and with real field names once you import your descriptors.
HTTP/3 and QUIC
Apps fall back to TCP by default, where WireLens reads them. Decrypting HTTP/3 itself is an experimental switch.
SOCKS5 and upstream proxies
A local SOCKS5 port for clients that want one, and chaining through HTTP, HTTPS, SOCKS5 or PAC when your network needs it.
mTLS and your own root
Client certificates per host, your own server certificates, or your own root in place of the WireLens one.
Query your traffic from
a script or an agent.
WireLens for Mac ships a command line tool and an MCP server inside the app. Search a capture, export a HAR, add rules and start or stop recording, from a shell script, a terminal session, or an agent in Claude Code, Codex, Gemini CLI or Cursor.
Live session
Run wirelens on its own and traffic streams in your terminal, with slash commands to filter, open a flow, copy it as cURL or decrypt a host.
Copy as code
Any request as cURL, HTTPie, fetch, axios, URLSession, Alamofire, Python, Go, Java, Kotlin, Dart, PHP, Rust or a Postman collection.
Client setup
Proxy and certificate setup you can paste for Node, Python, Ruby, Go, Java, Docker, Electron, Rust, PHP, .NET and Android.
Send your team the actual request.
One link, and a teammate can open the exact exchange you are looking at. Credentials are stripped before anything leaves your Mac, and you choose who can open it and when it expires.
- Private, whole-team, selected-people or public links
- Admin, Developer and Viewer roles
- A browser viewer for teammates without WireLens
- Logs that delete themselves after 1, 7, 30 or 90 days
What you capture stays on your machine.
A debugging proxy sees your tokens, your passwords and your users’ data. None of it has to leave the device you are debugging on.
Captured on your device
Captured traffic is written to a local store on your Mac or phone. There is no WireLens account to create, and no server of ours between you and the internet.
A certificate only you hold
The root certificate that signs decrypted traffic is generated on your device, and its private key stays there.
No trackers in the apps
No analytics, no crash-reporting SDK. If the app crashes, the log stays on your disk.
Shared on your terms
Share a capture with your team and credentials are stripped first. Encrypt the log and only people with the link can read it.
The apps contact our servers only to check a license, look for an update, or when you use Team Workspace. Where your data lives
For your Mac, your iPhone and your Android phone.
A request reads the same on a phone as it does on the Mac, and a rule works the same way on all three.
WireLens for Mac
The full desk setup. macOS 14 Sonoma or later, Apple silicon.
- System proxy and certificate trust, one switch each
- Capture iPhones, Android devices, simulators and other Macs
- Tools, Sessions and Compose in their own windows
- A command line tool and an MCP server for AI agents
WireLens for iPhone and iPad
The whole proxy, in your pocket. iOS 17 or later, iPhone and iPad.
- Captures every app on the device through a local VPN, with no computer needed
- Decrypts HTTPS with a certificate generated on your phone
- Breakpoints, Map Local, Rewrite and Scripting on the device
- Send a capture to your Mac as a .wirelens package

WireLens for Android
Every app on the phone, by name. Android 10 or later.
- Captures every app on the phone through a local VPN, and names the app behind each request
- Decrypts HTTPS and HTTP/2 for the hosts you choose, and HTTP/3 as an experiment
- Breakpoints you answer from the notification, plus Map Local, Rewrite and Scripting
- Exports HAR and cURL, and shares captures to Team Workspace

Free to capture. Pro when you need more.
Capture, inspection, sessions and HAR are free forever. Pro lifts the limits on the tools, and you pay for it once.
Free
$0forever
Capture, inspect and export for as long as you like, with a small allowance on every tool.
Get WireLensTeam Cloud
$9.99per person / month, billed yearly
Pro for everyone on the team, plus Team Workspace for shared, redacted logs.
See team plansOn iPhone, iPad and Android, Pro is an in-app purchase through the App Store or Google Play: monthly, yearly or once.
Common questions.
Is WireLens free?
Do I need a Mac to debug my phone?
Why do some apps stop loading when I decrypt them?
Does my traffic pass through your servers?
What about HTTP/3?
Can I bring my existing sessions and settings?
Which Macs and phones are supported?
Can an AI agent use WireLens?
Try it on your own traffic.
Capture, decrypt and inspect for free, with no time limit.
Buying for a team? See team pricing or write to finance@wirelens.app.