---
version: 2
interactions:
- id: 0
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 494
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"}],"model":"openai/gpt-5","tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"reasoning":{"effort":"medium"},"usage":{"include":true}}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - OpenAI/Go 2.7.1
    url: https://openrouter.ai/api/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: "\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n{\"id\":\"gen-1761054752-Z3PQgjaQed4rJTsn3RYa\",\"provider\":\"OpenAI\",\"model\":\"openai/gpt-5\",\"object\":\"chat.completion\",\"created\":1761054752,\"choices\":[{\"logprobs\":null,\"finish_reason\":\"tool_calls\",\"native_finish_reason\":\"completed\",\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"\",\"refusal\":null,\"reasoning\":\"**Fetching weather data**\\n\\nI need to get the weather info. The user asked, \\\"What's the weather in Florence, Italy?\\\" so I should use the weather function for that. There’s a multi-tool option available, but we only need one tool here. I'll call functions.weather with \\\"Florence, Italy\\\" as the location. After I receive the result, I’ll give the user a clear and concise answer, focusing on the key details like temperature and conditions, even though I'm unsure what the tool will return.\",\"tool_calls\":[{\"id\":\"call_JH16IMSaSHLE7oICZRQzDvLH\",\"index\":0,\"type\":\"function\",\"function\":{\"name\":\"weather\",\"arguments\":\"{\\\"location\\\":\\\"Florence, Italy\\\"}\"}}],\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"**Fetching weather data**\\n\\nI need to get the weather info. The user asked, \\\"What's the weather in Florence, Italy?\\\" so I should use the weather function for that. There’s a multi-tool option available, but we only need one tool here. I'll call functions.weather with \\\"Florence, Italy\\\" as the location. After I receive the result, I’ll give the user a clear and concise answer, focusing on the key details like temperature and conditions, even though I'm unsure what the tool will return.\",\"format\":\"openai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"gAAAAABo95AlHDFCURxQFvbG5EJbGKJL25nSD5sieM-GXHlCv12f1ehmOOO8Tl6qqWcJO2c4G8YSrEu0mjlM43EGB-PKd-FA6M2B04NDNY4Q8bW6NULmWm6ZfHr8GXncCAddcdStbfz3sCRjJe-vqPN2OXLjCy6eYjjR2EKsmFUNG80TL3cSaDoZ9vCKUWXgUBzZ-8scHgLDI3USCAiwiDu0BWeC5-IfdiAQr54ZXk_pxZdesRjHnZlUfg2SLCo6X65hC02w9yKTwtTsg71S33bnjhMNXaIx4zSf8txF3Jt_BdS08fnjj3kCOZog2hvn8FLUGTVwARfm87zxveegUYFunxzpbJnP6PXZCQyYVVp16mGdtAKn1SPtFghKBakOTYAyXc4-oJMu0_cDX29G9LFwo1rHSRp48kSRYvyIkNtaox_sRCf2fVE2lJsn0B69V1kJZAHTUP8LuMZcx5ArObW5znf_c22HWCDv1LEMvPU1RfDBDUAbt2DiIr5QyAvDo08gW_n_rm1cGgM7H0iLdS_ecrI2FED0Bj0fmPlBlkr9yW1RJ8gwM_5f87-P79OH4RL_o6RBFocEEdy55xtTNK52XrKoti9-W-8nQg3Vn2X4ItI_90P7FARE_LPH63O38QtCoLllyGFMvYurkthtwlsvpUgNL9QlVrsmoBJjNRYaEyDJGw6lmz_uc3RWYGU0rAJuUpzIwm3ZBN4bkRanmgpLCvpixsq6iH3pj2Hwz3EVHGX07eZCBLp0Xn6Kk_7eGRF7HHJHfrF3kQehWi9jfCq6WoWt9LHIwS2WOHQ37-RVP5IJ5CS1zFp93fYyXjqXXghwu32PwJz6uJiwIciPkSWS-X7wt3evn67VPUaezVSzXud7TgNOCRrOaFUYE_WYTTumvxGzIH2TwQQRgsY61MyuvIRMncEjFLYDh_EiYbih8PJE0STK2Uni5UzoU8j9VGrlulzUIA-4CcvojmLaTiUKue2CXp5jlhZcmuZ7KIuXu12QRSoTlCzHWA0qPYhtjT57IVhNO5SKd6Bg3VPJ1QJsS8ndwUFlOJNo_onsdJ7NDHTrnhX18SHhD9xojO2jtIna7lWa2FUMt3lNsL0pqGrOYD2PJ0rAJTcdKl_6Q0ECHn09xaMhoKScStleB9U7rNVKmpjkFrSl_6mprtQCTQPE7Ovjt4bF5js5DjbdXbCEAeiy2-KPs0ET_-kMYkrCsxh7ELNIxPsaf01JL4YpkYsuzCHV0VZRHaMq0DBQcq2OxpmE5doeomMi6fMgoq8d_jTNhpR2jJ8qblQQ6aQqLLJZc921ougvrupAo1MCdV1JI9yIgkNvc_Q-WKCpCSzV39O_QBD62VvgjWrbYf_t0BlUqDh6866b92fG75kpjZqCXIdb70cLC9cgmyfohVqN9-LBWWSBw4KHCWj3m6jqkkc9htN5gt1lQYQMtXyWmTTV83NnTIbfZq43JfyhwWaMMnMYfrUVflirJ6_8lMTAQeloThWdQQymaeMOJXIXTx-gl0_fbVG8Im7ZaFiqXzYrNWgw9iPK1kvmeZmMIkTTZVdpDToBEuQ4qeoczsmqOspVLC7yf0USoL2HNl3nTJaiRvYwRAzbSwjV\",\"id\":\"rs_07508cdfb87721800168f79020d93c819589fabd1b4a45c9e0\",\"format\":\"openai-responses-v1\",\"index\":0}]}}],\"usage\":{\"prompt_tokens\":66,\"completion_tokens\":86,\"total_tokens\":152,\"cost\":0.0009425,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"audio_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":null,\"upstream_inference_prompt_cost\":0.0000825,\"upstream_inference_completions_cost\":0.00086},\"completion_tokens_details\":{\"reasoning_tokens\":64,\"image_tokens\":0}}}"
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 341.906ms
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 3103
    host: ""
    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"tool_calls":[{"id":"call_JH16IMSaSHLE7oICZRQzDvLH","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"format":"openai-responses-v1","index":0,"summary":"**Fetching weather data**\n\nI need to get the weather info. The user asked, \"What''s the weather in Florence, Italy?\" so I should use the weather function for that. There’s a multi-tool option available, but we only need one tool here. I''ll call functions.weather with \"Florence, Italy\" as the location. After I receive the result, I’ll give the user a clear and concise answer, focusing on the key details like temperature and conditions, even though I''m unsure what the tool will return.","type":"reasoning.summary"},{"data":"gAAAAABo95AlHDFCURxQFvbG5EJbGKJL25nSD5sieM-GXHlCv12f1ehmOOO8Tl6qqWcJO2c4G8YSrEu0mjlM43EGB-PKd-FA6M2B04NDNY4Q8bW6NULmWm6ZfHr8GXncCAddcdStbfz3sCRjJe-vqPN2OXLjCy6eYjjR2EKsmFUNG80TL3cSaDoZ9vCKUWXgUBzZ-8scHgLDI3USCAiwiDu0BWeC5-IfdiAQr54ZXk_pxZdesRjHnZlUfg2SLCo6X65hC02w9yKTwtTsg71S33bnjhMNXaIx4zSf8txF3Jt_BdS08fnjj3kCOZog2hvn8FLUGTVwARfm87zxveegUYFunxzpbJnP6PXZCQyYVVp16mGdtAKn1SPtFghKBakOTYAyXc4-oJMu0_cDX29G9LFwo1rHSRp48kSRYvyIkNtaox_sRCf2fVE2lJsn0B69V1kJZAHTUP8LuMZcx5ArObW5znf_c22HWCDv1LEMvPU1RfDBDUAbt2DiIr5QyAvDo08gW_n_rm1cGgM7H0iLdS_ecrI2FED0Bj0fmPlBlkr9yW1RJ8gwM_5f87-P79OH4RL_o6RBFocEEdy55xtTNK52XrKoti9-W-8nQg3Vn2X4ItI_90P7FARE_LPH63O38QtCoLllyGFMvYurkthtwlsvpUgNL9QlVrsmoBJjNRYaEyDJGw6lmz_uc3RWYGU0rAJuUpzIwm3ZBN4bkRanmgpLCvpixsq6iH3pj2Hwz3EVHGX07eZCBLp0Xn6Kk_7eGRF7HHJHfrF3kQehWi9jfCq6WoWt9LHIwS2WOHQ37-RVP5IJ5CS1zFp93fYyXjqXXghwu32PwJz6uJiwIciPkSWS-X7wt3evn67VPUaezVSzXud7TgNOCRrOaFUYE_WYTTumvxGzIH2TwQQRgsY61MyuvIRMncEjFLYDh_EiYbih8PJE0STK2Uni5UzoU8j9VGrlulzUIA-4CcvojmLaTiUKue2CXp5jlhZcmuZ7KIuXu12QRSoTlCzHWA0qPYhtjT57IVhNO5SKd6Bg3VPJ1QJsS8ndwUFlOJNo_onsdJ7NDHTrnhX18SHhD9xojO2jtIna7lWa2FUMt3lNsL0pqGrOYD2PJ0rAJTcdKl_6Q0ECHn09xaMhoKScStleB9U7rNVKmpjkFrSl_6mprtQCTQPE7Ovjt4bF5js5DjbdXbCEAeiy2-KPs0ET_-kMYkrCsxh7ELNIxPsaf01JL4YpkYsuzCHV0VZRHaMq0DBQcq2OxpmE5doeomMi6fMgoq8d_jTNhpR2jJ8qblQQ6aQqLLJZc921ougvrupAo1MCdV1JI9yIgkNvc_Q-WKCpCSzV39O_QBD62VvgjWrbYf_t0BlUqDh6866b92fG75kpjZqCXIdb70cLC9cgmyfohVqN9-LBWWSBw4KHCWj3m6jqkkc9htN5gt1lQYQMtXyWmTTV83NnTIbfZq43JfyhwWaMMnMYfrUVflirJ6_8lMTAQeloThWdQQymaeMOJXIXTx-gl0_fbVG8Im7ZaFiqXzYrNWgw9iPK1kvmeZmMIkTTZVdpDToBEuQ4qeoczsmqOspVLC7yf0USoL2HNl3nTJaiRvYwRAzbSwjV","format":"openai-responses-v1","id":"rs_07508cdfb87721800168f79020d93c819589fabd1b4a45c9e0","index":0,"type":"reasoning.encrypted"}]},{"content":"40 C","tool_call_id":"call_JH16IMSaSHLE7oICZRQzDvLH","role":"tool"}],"model":"openai/gpt-5","tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"usage":{"include":true},"reasoning":{"effort":"medium"}}'
    headers:
      Accept:
      - application/json
      Content-Type:
      - application/json
      User-Agent:
      - OpenAI/Go 2.7.1
    url: https://openrouter.ai/api/v1/chat/completions
    method: POST
  response:
    proto: HTTP/2.0
    proto_major: 2
    proto_minor: 0
    content_length: -1
    uncompressed: true
    body: "\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n\n         \n{\"id\":\"gen-1761054757-RbtfcOpaiHHf2DnYJ33c\",\"provider\":\"OpenAI\",\"model\":\"openai/gpt-5\",\"object\":\"chat.completion\",\"created\":1761054757,\"choices\":[{\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"completed\",\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"It’s about 40°C (104°F) in Florence right now. Would you like details like conditions or a forecast?\",\"refusal\":null,\"reasoning\":\"**Providing weather information**\\n\\nThe tool returned a temperature of 40°C, which is pretty hot! I think it's important to present weather information concisely. While I could mention conditions like sunny or cloudy, I can't make those up since the tool only provided the temperature. So, I’ll state: \\\"The current temperature in Florence, Italy is about 40°C (104°F).\\\" It's useful to include a note about heat safety if appropriate. If the user wants more details or conditions, I can ask!\",\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"**Providing weather information**\\n\\nThe tool returned a temperature of 40°C, which is pretty hot! I think it's important to present weather information concisely. While I could mention conditions like sunny or cloudy, I can't make those up since the tool only provided the temperature. So, I’ll state: \\\"The current temperature in Florence, Italy is about 40°C (104°F).\\\" It's useful to include a note about heat safety if appropriate. If the user wants more details or conditions, I can ask!\",\"format\":\"openai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"gAAAAABo95ArxowPkxbCcPUAtMhlYexdVBDsZUDEKxDswE061QLWPQ5fhlipc3Shqpt5ebOISswND7zpx7un6-_WOis7bxZLbXatlvUGwnamND-IobPomP0QHlAJmrOFp478nTQFGfK1FUChsLBArCVR1XXMzi9-3Cv-CHTDIZcRblIrxidZdUj2mApj7JsU86gE02sVgL9xn5ehZBiQUdnig817Gul0meR7S3xDf473E2SPfzy4dCuk_cMXfoJ64vEVxPEyWljVkxOIauXqJjNHBDpILktjQP9yl-YZbMzqRqdyG3biRpdIIP2dcg8MfMMAP03atNPsyqEmSMY7Rjdr1K-cmlWfjcqyn4v38T0dQmUIov8VaLdnICQ53Tg6ghQGiQBsuKNPoAUJqQwvaznht_FNArMgcRjA3_tm9eNVCU26KZjNneywUX1x-p1EgZ6JAaCA2lUVx8Z2IMlrfF4w6f_QTdESjhf2-kQSXEkhSoAyz_NPr5-Y8ea69V_Iey2UDgz2dBeVRnntuE_uYGfCcyfDF5y3FAP0Ja4SjGWgWJjVsd8nR40oZWgdoIN-VbKPyAB_nG1armr_rfcmjODIWAlOQk4BxvzJNaJdcam7ylbVD-tKoDv8TNqKe-6oM9U03jQLw0VwVO7wDMtJ66Gzr9FeMKcflnc3gPA9zS8QJsC4OyavZyO6yyIuXJn6NSvklQYNrE4rnUlJXtw9HuFNYmK80JJpl7pc8YP42A_xFem0v6vozbzOM5-47icxLtx4BZvD73npFJI_hwkK7RhGGPdIVzLTxo9lajlGu__i5udg8nKazrZKdVUiFU2gorvqPvPcPMt1cSyXsOQLXvP9VsEMgc9-M--Gi6PS8o5qKPq5kWD7FWE8hSp3AQwS6rJniivVuBYLfZ3GLgxbVPXNXYBKMgzzfJnJlqBFTaG4IBhRHRQdR7Y5c6cSncoWZ3E7dT37PnIRZ65TW3xD2Xhyp2UuLgkd_Cf6QNBfCm8dsukXEE77z8xLgdIJoq0OkwNbW6_Qc6gyJAADM0sk9XUJ3B6esqB8KZcixF4QnHmhm_y8I1RGpDUQyd8moE3wbKf7-HhfiBOlwqUG-BaaZ5Os3Kk5zg4ka1k4LV1v36Nk8cWIhMVJbGVMsUPJsq3I4vhgRX8CnZ0RmKH4N5sLpscZtTtOLm17adbnuiw7a7zRbcRLV54g4Yf0-FDDjz43QCwsUZ95QW8JX71o9pWdEu27tdCCMfD_aC-CWYpVHW_YoYTq6nKGhlJCBeigDXYwyKJhOHcNMgJUB9iXv3bGVovOtGRjoyDgTBuM_z0Krz2eX1aJncwz7x2Uf0wgvcHfMWZQNjDUPs8a8QawTAu7izSEtVwh8WXo851kaiK5BxmCuQ8ZezO27cn8Yw3tMD-oTFyvoJy6BRhW9c-0jzsqaopUIoZUYrtKEQDwrGB0OjVlQykuqxpVov7Nr4FP6hFTds1Z26vhVI9B0FBMtrsOKwqyVf8TwE53g3gSaFRrMLgART8xca_n3uT_44sNUrqITd1xX_iOzwrFng1-jlEYZ0WA0k4jPh_OS5kTzT_OgE3YB-cXwcTf1h0SgNN54bk4Mivmx_9lqDyTv0ArJfZ9KYjvs3R4syhvwL6aMxE9NHQwKsnoUSI2NBa15LYqSBNnNpDoPxCl8zTXZNVKlWdAFXFLIXli0WishQ==\",\"id\":\"rs_07508cdfb87721800168f7902635048195a6af3183d6deb8ed\",\"format\":\"openai-responses-v1\",\"index\":0}]}}],\"usage\":{\"prompt_tokens\":215,\"completion_tokens\":159,\"total_tokens\":374,\"cost\":0.00185875,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"audio_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":null,\"upstream_inference_prompt_cost\":0.00026875,\"upstream_inference_completions_cost\":0.00159},\"completion_tokens_details\":{\"reasoning_tokens\":128,\"image_tokens\":0}}}"
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 539.821458ms
