---
version: 2
interactions:
  - id: 0
    request:
        proto: HTTP/1.1
        proto_major: 1
        proto_minor: 1
        content_length: 490
        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","max_completion_tokens":4000,"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}}'
        headers:
            Accept:
              - application/json
            Content-Type:
              - application/json
            User-Agent:
              - OpenAI/Go 2.3.0
        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{\"id\":\"gen-1758709991-guGOfnMFdatrP8vo6qIl\",\"provider\":\"OpenAI\",\"model\":\"openai/gpt-5\",\"object\":\"chat.completion\",\"created\":1758709991,\"choices\":[{\"logprobs\":null,\"finish_reason\":\"tool_calls\",\"native_finish_reason\":\"completed\",\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"\",\"refusal\":null,\"reasoning\":\"**Fetching weather info**\\n\\nI need to provide the current weather info. I have a tool that takes a location string, so I’ll use it for Florence, Italy. Since the user didn’t specify a date or time, I’ll assume they want the current weather. There's no need for multi-tool use here since I only need one tool. I’ll just call the weather function, and once I get a result, I’ll present it to the user. Let's go ahead and call the function!\",\"tool_calls\":[{\"id\":\"call_6sdDb5nHKbbMDdHN5xmcm7ri\",\"index\":1,\"type\":\"function\",\"function\":{\"name\":\"weather\",\"arguments\":\"{\\\"location\\\":\\\"Florence, Italy\\\"}\"}}],\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"**Fetching weather info**\\n\\nI need to provide the current weather info. I have a tool that takes a location string, so I’ll use it for Florence, Italy. Since the user didn’t specify a date or time, I’ll assume they want the current weather. There's no need for multi-tool use here since I only need one tool. I’ll just call the weather function, and once I get a result, I’ll present it to the user. Let's go ahead and call the function!\",\"format\":\"openai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"gAAAAABo08jsofIlVMHndIFSMEln17C_FIqCrfkOSzH4LyFoIBXI_O-BOYybV9W7ARpPo16RLOA2iM619vADOvKeTnsG71voyvCDKMLrgvJyKyQnKMYGfNBR515QSQO-na83jKHDykKmnbakCoffFX8SeyCah7fhpfh39UOSNo7BwjroBFRfUhdbRwVjtxwzWemRNdzDH7i_yosCEV6v8pNoYzonvBb_9s0nWJWu1YHcaed3Jz3rf24PG1jFLqOloVilJHVV6q8lJmuAxpq_V8rk_zu1GpE_tbMCvMHI_GjLuaLaMHM1s737LrcOUcgH_nGgQ9OvPIaZY4cwdNc-7nFuedxJH7oPF085tGZHKimu_bNMlw4arfnqkXwcIlvD4nEBnexRo4XYG0SqoRA8ZCZGNpWltuhjb3RIBspPL9ZCfRTJW1hVbbLKuRY8hgDG0zZx1RXsPNz2u17ppyz1Ro68vV1DvfOsUTA0K3Do80UVyvF-aV5MSfZVs92rJ4cEjm2IEoRA7muyw0LWilLGN8JVMGnPPxuDerrZwzzSa8NGtRhfdeIojFd7Ku-Phwqn3WT8M-gmUiivckQJftblb_Msyf3iiiN4_xs2mlE8Wui0kFupB-_BW0Q1nSPHOtY4pkLIhvovfGPmNzoU3dvqBeXgs0BsT_1JxXlTiMuo-y2BzpnrfWrbda0D-0gYzFws7gaGegze12cL1-l0HsGSzmQkUVeTEp3jTL9fyZX9HPs4Eh7JInYh6C7pLfqgqAWwQfUzjlG9LGNyrOpAjsoedViG7XYiQ_LPbqzjVm87vH5voku_RLd4f-dpQfbF1olIhNsJ7-K62mF8W9XYY0NGA4kGuCMd3iX2zSJK_JvcqpEpqlsCwdC38i1CakT1WelQuopeoNFq0tRGoz6oywuq4VPR9nmRtYofQ0UGTB4D9oEEIEbA48Jp1CDH3mls2gpRIeWt-yeIbS9qyDYcya-gkthYZQF_w-bjCRVsXp9sca3ZDLfdFWPwwgnfMdRJa3IxhOK9lysh87k-NzL-PZygZsA082cMJxzJSxf1gbv_QeezABa08Rs1r-NP6z6cCNuIW7lpIRSSUA4mQvlVyAAc6XfKstvpLFDpLzc-ece74nsKEYG-8SHwQFenbs_98AiXexZNqRIvum3kQIXmXKoeeaGWFRheAxS0AVKdLSOHOHHt9-p6o5za4Wpt8oJbdZ209qgA-1OP2qJ4kGv9c8166EssSbwkcTZzVHPoEhdHhe6FdwN60RCm7poK4JRL4QpsyuwHUyQYuYwaiASDwreCPKyYU1l7J1qnKjMuyvvDfOSs5OtuFWc8OEslQH7GF7dX3WPAOtx2zwXtzjjR8akSLzzGVIKQBKPm5OQKezG870ZqrjjKl1YgD4cDD2GGJZ29oCLz5RVtFpAzrTUDJBdvgqH18jrVJgy3ig==\",\"id\":\"rs_68d3c8e8b1dc8193b77038de6ac0eeef008930d7f4c0b58a\",\"format\":\"openai-responses-v1\",\"index\":0}]}}],\"usage\":{\"prompt_tokens\":63,\"completion_tokens\":86,\"total_tokens\":149,\"cost\":0.00093875,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"audio_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":null,\"upstream_inference_prompt_cost\":0.00007875,\"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: 720.861ms
  - id: 1
    request:
        proto: HTTP/1.1
        proto_major: 1
        proto_minor: 1
        content_length: 742
        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_6sdDb5nHKbbMDdHN5xmcm7ri","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_6sdDb5nHKbbMDdHN5xmcm7ri","role":"tool"}],"model":"openai/gpt-5","max_completion_tokens":4000,"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}}'
        headers:
            Accept:
              - application/json
            Content-Type:
              - application/json
            User-Agent:
              - OpenAI/Go 2.3.0
        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\n         \n\n         \n\n         \n{\"id\":\"gen-1758709996-xuyPl3glOSzMjEdyB2aR\",\"provider\":\"OpenAI\",\"model\":\"openai/gpt-5\",\"object\":\"chat.completion\",\"created\":1758709996,\"choices\":[{\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"completed\",\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"It’s currently about 40°C (104°F) in Florence, Italy. Would you like a forecast or tips for staying cool?\",\"refusal\":null,\"reasoning\":\"**Reporting Florence weather**\\n\\nThe tool returned \\\"40°C\\\" for Florence, Italy. Since we want to present this clearly, I’ll say, \\\"It’s currently around 40°C in Florence.\\\" Adding suggestions like staying hydrated or seeking shade is reasonable. The temperature is hot for September, but since it is what the tool says, I trust it. I could also convert that to Fahrenheit: that's about 104°F. Overall, I aim for a concise and clear response without heavy formatting.**Providing weather details**\\n\\nI should consider if the user wants a forecast since my response is minimal. Even though the multi_tool_use wrapper exists, it isn't necessary for this case. I'll present the weather as \\\"It's currently about 40°C (104°F) in Florence, Italy.\\\" It might be nice to ask if they'd like more details like forecast, humidity, or wind. However, since I don't have that data, I can't offer it. I’ll keep my response straightforward without any special formatting.\",\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"**Reporting Florence weather**\\n\\nThe tool returned \\\"40°C\\\" for Florence, Italy. Since we want to present this clearly, I’ll say, \\\"It’s currently around 40°C in Florence.\\\" Adding suggestions like staying hydrated or seeking shade is reasonable. The temperature is hot for September, but since it is what the tool says, I trust it. I could also convert that to Fahrenheit: that's about 104°F. Overall, I aim for a concise and clear response without heavy formatting.**Providing weather details**\\n\\nI should consider if the user wants a forecast since my response is minimal. Even though the multi_tool_use wrapper exists, it isn't necessary for this case. I'll present the weather as \\\"It's currently about 40°C (104°F) in Florence, Italy.\\\" It might be nice to ask if they'd like more details like forecast, humidity, or wind. However, since I don't have that data, I can't offer it. I’ll keep my response straightforward without any special formatting.\",\"format\":\"openai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"gAAAAABo08jzPxLRljLv8Tguk1ShMKO7iH5T17R2AAcJNvt9-kRYCU7f2nKCplW-UAFBIf5WPw09f5YlUFXWT94eymFSsQ_P_ZAEmEcmzKCBtboo0PjepzFez54Df0AID36QiD3TMBufJ3QzpyRu2_ew2U4DPJxN1Rgd8MaJrozgVT88P8hcDt3FAtAXQUNpLZ16tBrp2vPwyliDbUBlX8lSRAWHKJGWcBNWiKiu3Fgml4TV4R_I7hQP4gIL5ORfvaC-Be3WCGFRyDLJxz-fJh_vWCFYMjgP4J6r2D0qNQZd8_8WB9altj2-WFiy1FExhF_bx0uUZ2bsU2vQnl3veKsZ6MIcC-RRs31PdIX7pEeUq64eyqPSuZblynigGrhVMrlg3V1EeY769d2Tc8aSSz9rO5kj02cD1QRSFgavPFL1Suzdibu6rskHJGr-jOcXHzmvmeAx44j1qIGHwfjVN_vlgcxWv--JpHv43fxz0sNBh716qjefRpiH4A7-0YxmqnCvX7j5zVd1Bcd88RIiQqyNExkTL5MWJilbBRNl4hPznAo7Ya69baLecxLryrWLvFlq1LAWDSADHi6Ywd3KCE3mY9czGqsrE-hqvtWJX2C0WlUfOD5R-xb2W6vTO1cpiNZLlTcmocQXUi5pZRChLidJoz152mlOvQ2MTyP7fN6rBs399-tNjhUg5KFFWCy-WQEWKu_vbGae3f08MlR0d-FlImSwKMVmXTmCL96eQWRlgRLcmGSUvNls4jinyXF3psQ3F4anUSghONozstnOSASBXaclxs3xkMmJmb-eDZEg1KplaUFOIl2pSMgjdrOoMuUhnULOYTjmHai8qBpbqzBdTSSE5jNOpwOCuD4X5d6kiR3CZ3G3s1CjQFKksEYxPN0qtCg5gUSLm-s0D9fQr18TqzwksiOgo6IGMpgR6odiENE2BQ8u12MyEWEiPd4D1ECG45wScBXk0C-3EumYEShvBAxMFwyfgsTKKRE8KO1hmfdj9fZ5n-yEiFvzF4c7VuULoRLGu-3_4EzV0dF2Q93Mn1f88kmbqEz4OfIGPkoejYZFf_M6Awh9-E3KTGke8Ea95vl6v5jbEetj4u0x_AtwKXp-wC36PnYqf0f5SIzKLTo6v1V_bsQsfJN6fooADpFWKhRElBA46FxRmoYx0Xvf9Pd_ba2bBsD-CZU-l3UCwR7S0ZJjG5KJcHnrB2QdY5pwsQ72FShWEQjQKMcroaS8LzujYCdqRQdj8TaG3qhJwWef1KMV6xG6qFLYNZMYCiNtl9sdUQTuglMbvBWswjzse_7pXvqmEiHarPc80hlNtQ_DP0CQRwLUf0YXM7IG7F3ziAuOfvoihyCAh2zjtP_8EGT55ETqPH8fimwcXd8_wIIV2LAv09d1Rm-h9Z9CpAmaAY-b0fFh1sF6DpW7__cOPAu724URYE6DbXcW46_UxTqHeHBtw-K5TCHm1mqxuVRRdOhPLwj2vDToOIa5lY5aB9ZIutgjbqMhAEZBHm0ED1XQCYxluT5W0yQ1RofpsNVvSBTMZ-nKnAii3VuJ2rwFyB1dOEic0IQZNH7iJ9ea_HKCxV1tLh9LkzLxdaggsox206aic7gUMGca4C7lv6uoHwrSDb16XPyhHnTI_UktZB9KYsUxFcEeyBNQ0xiwi9u5iBCFYPzhFhjwLqBUiqQbswKNo1GA3X34kQqCZZ3lhejM2xv5BVZcVSuTiSztgS9HAuzgW2sur-6ZorIdWxmXa5L5liDzAK4AQk0mET32tpS-3ynstP_kMK2TkJLcE9DUl5WpWp4RnHNBztIVij0s-DvhsLxJC3ozNHBC6f3Nt2LRvuPQbmMkN08gPJWyuWls_6M_JvDIxWINegdG3v_5wQ1c3sg20LwK0fWuOs_hXgfILR2HAd_m1sVob49Epy4tEhs_4PRLG7cQIMHFz316Wh253LIShEgqe6W4BtV__MFUoyWZN-81IH1y1bxzNb6LhVIH2DAcZ6lCvDb9hF0NCNj6Y_Nj0D6LxFnhJTmoHeJ9hCpKM46zaiuE0nge3V9UTK3wIHfaLMpORHu9H3LwBdAso0wX_7gB7hvR5Hq5kn_Jreuqfjhx5dLcoTIyg9Doc4fzpFh7ervcIhP9ChXcZ9I7k1il4rkbtcRnJjR0KdEmigFanNBP6OGCnNLu3JdEM3uhdNjc32O92t1nf3xTIA7hpKMQJMd3vkBq33HOjDZog18iLRLmZuYzm2bYzHvSkHuijLZzDmHwyTtW4V4RV5CTGaMspoIMrcQpoU3Gz4EX872lp1kYgRWKoBGv23CHuKz7BOT75kf3twh00A2z_dGVGbgQT9EVJPK5yzNTlrRl6O--tskyVurkD_3H9oWEvHXG_d-Rnmc8h0pX1pACy-dWUR6_GJZ1aa-IjG2qxYJzx1oZGzI7x5hOHpA39BHHTwfd7c_c_kPa_5g7zoGO9cigebS0Fehsam4xOINKxiB43BqPqkJ29VoNuLl6WBA5Zcx1VBMYraNWzJSwNIIzVVzjB4twpPis4zn7ddTgfgr9nN2SR1Qn2KiKqom4F9S1m4B0xisNUbk4qwLtMp_l15aDyVddTZThEYsXUqjCaCJM7VGc1-wBiTttAsuCheg7ud4uf23y5vWPHQFmTALDVbMbI4KeB7UpBJJJng4TP-jr-lRk3sNCqMU9v1wVWohYKi0FznYtwPfrGtkZT1IraCpfg07D6SV0zZlESjb3sUBNdTnuDjc=\",\"id\":\"rs_68d3c8ed9ddc81908f992d15e6c4a658\",\"format\":\"openai-responses-v1\",\"index\":0}]}}],\"usage\":{\"prompt_tokens\":92,\"completion_tokens\":289,\"total_tokens\":381,\"cost\":0.003005,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"audio_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":null,\"upstream_inference_prompt_cost\":0.000115,\"upstream_inference_completions_cost\":0.00289},\"completion_tokens_details\":{\"reasoning_tokens\":256,\"image_tokens\":0}}}"
        headers:
            Content-Type:
              - application/json
        status: 200 OK
        code: 200
        duration: 659.239875ms
