---
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.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{\"id\":\"gen-1761054234-3w7r9GFNyhUJONXBloDl\",\"provider\":\"OpenAI\",\"model\":\"openai/gpt-5\",\"object\":\"chat.completion\",\"created\":1761054234,\"choices\":[{\"logprobs\":null,\"finish_reason\":\"tool_calls\",\"native_finish_reason\":\"completed\",\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"\",\"refusal\":null,\"reasoning\":\"**Calling weather tool**\\n\\nI’m planning to use the weather tool to fetch data for Florence, Italy. We only need one function call, so I don’t really need to use the multi_tool_use.parallel option, which is for calling multiple functions at once. Instead, I'll call functions.weather directly. It’s important to use the commentary channel for this tool call. I’m ready to proceed and get that weather information!\",\"tool_calls\":[{\"id\":\"call_V9rp4VzfGhqfligrK0CjAvky\",\"index\":0,\"type\":\"function\",\"function\":{\"name\":\"weather\",\"arguments\":\"{\\\"location\\\":\\\"Florence, Italy\\\"}\"}}],\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"**Calling weather tool**\\n\\nI’m planning to use the weather tool to fetch data for Florence, Italy. We only need one function call, so I don’t really need to use the multi_tool_use.parallel option, which is for calling multiple functions at once. Instead, I'll call functions.weather directly. It’s important to use the commentary channel for this tool call. I’m ready to proceed and get that weather information!\",\"format\":\"openai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"gAAAAABo944dZfX4x5upHEO9O6o8FIEssTvKUDKVENphC3oqiFFBWesRyticYRIg5wDWANPnawSFvxjrflYOxJn7dxhKoV4Qk5Vgc40ImuoVGjnDw85-xytqO038cMi7sZYouck0O14iOt78tDVS2dcPDYqcHfG4tQjkWQHJGfY2hS5HgKB1b9w8--ZNdEG_3ssltjlCQQ2zhkQMem5aHpXQuddxGCn8zXaNcnnt4aNfdjkW20q4XZuUBc_bQNrZb-3fptvWhFecSFCF8mX3xZsSbeP5DIEzu7R8TWrMJn4ZHPos6WvOX-7DLVaZfw2WtZok7EjTMYuerKFrZcTWfCmv57iENzDDeCnzzxNwqbn1eOooWvcddK9I0Pk7_WeoeVYovA6g9rMnHDhODLQYrB3-80dgslK6nuQsnPx63pm3Mb7FvzbOPZqlrushqaQDrXSVnG9GxH_imzQ-ZXvsBiUfEZg_hV30F7VkFAJC8TOk0sXwrfQyqj9XV7txK-zg-IHkgMsP95nQ5f37-vJ5R42yb0c1pBZCLl_mNW3WiTP_e4Ghwf8mlKrPqKGn5X8T9JwXqDM4u9QOZAjlTTpkxhAUn9Am4XkldTg5E3OLQYjZjqgAKwgLMUOU2yu1U_szM_VyVceHMsvlDDh4RANYR2hHvECkrdpy7FD2x_UG7kx2dP6bqJrlhO8xVahT66OW8EX-3HJ68rrRSYt3GzuvTavzTkOS-XzroI4zFjQxm4Ye7mUk6BbtpZwYMFBlXRh_7YItH6XdICQYLqhsYGCmQlZoqQfwCZ_lZA-wxzXApcjkNxqWEuKLckwi4Lug3SyrHEtbYtNqTzaS62HsaLfEidhdwLSIL3vxJ09wTI3oyR-wrFrqBel21mCcH5rLUp3qb1OUt0n7ojldhIGfzFuEuPUocaTHr4s5JBaoH4drv55NkrzifQrEbPoq91BcF3Za_lEPtZD-sgVL7X2eEu3d8W58Yf0cBT1kyJNRv6Mu10mGwczdZtZAPmC7vUW_hsrN3Teu2cXARAKE96ouVUydHIXOf30jCNv9wtyWL8OojMkQiIlInR8r1lnXmRYUHrMgIKHfDBSd5pNZS_svvmbAhm6UNfdh6W473vmYCocwooI7DdW-91DZUAW7hTd2FQ9ydmN_iDSmZUYrnEHQYEWyMsT2e41I1RVrNkfp3nsf_TrYZDGYlv8giigeickCQQSXs2qgq68tLRI7h1Niz5RUQ0EMNqcfUlM_R9bC2N2HymCPmPZZWkrEzXgALOUUZWpdlUCoi8OpQ9XFwUzPE2m9KE3hbI1bN1MrgJTMfwYjWYagVgxYxk4ldJL6rIgECbn5ifENIfgLWy2GVI5omyNCvtGhw-CjX5wHM3Oa8lR2nV6qGi7sfonEddk5PgtKL6QyZZ6ylwqugEZZIzkcY1j9zWdblPDq8nHI9o_DNWsy_ixmf6K6016gk1WxCb67iFlqYiC1lYSwJV2_3JkYqrznrAAiskOTDmlmtwwuN2VXRO6buX2X75OpeukxuRBBaO81TKdsWYPWKbzTO4EDZzHRS7QRrQViNDvoUqSgZSe-r5N6Ezj9bFwp3os=\",\"id\":\"rs_09029a2dc312d9a70168f78e1ae6848194985709ebc38f7346\",\"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: 394.015334ms
- id: 1
  request:
    proto: HTTP/1.1
    proto_major: 1
    proto_minor: 1
    content_length: 3003
    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_V9rp4VzfGhqfligrK0CjAvky","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_details":[{"format":"openai-responses-v1","index":0,"summary":"**Calling weather tool**\n\nI’m planning to use the weather tool to fetch data for Florence, Italy. We only need one function call, so I don’t really need to use the multi_tool_use.parallel option, which is for calling multiple functions at once. Instead, I''ll call functions.weather directly. It’s important to use the commentary channel for this tool call. I’m ready to proceed and get that weather information!","type":"reasoning.summary"},{"data":"gAAAAABo944dZfX4x5upHEO9O6o8FIEssTvKUDKVENphC3oqiFFBWesRyticYRIg5wDWANPnawSFvxjrflYOxJn7dxhKoV4Qk5Vgc40ImuoVGjnDw85-xytqO038cMi7sZYouck0O14iOt78tDVS2dcPDYqcHfG4tQjkWQHJGfY2hS5HgKB1b9w8--ZNdEG_3ssltjlCQQ2zhkQMem5aHpXQuddxGCn8zXaNcnnt4aNfdjkW20q4XZuUBc_bQNrZb-3fptvWhFecSFCF8mX3xZsSbeP5DIEzu7R8TWrMJn4ZHPos6WvOX-7DLVaZfw2WtZok7EjTMYuerKFrZcTWfCmv57iENzDDeCnzzxNwqbn1eOooWvcddK9I0Pk7_WeoeVYovA6g9rMnHDhODLQYrB3-80dgslK6nuQsnPx63pm3Mb7FvzbOPZqlrushqaQDrXSVnG9GxH_imzQ-ZXvsBiUfEZg_hV30F7VkFAJC8TOk0sXwrfQyqj9XV7txK-zg-IHkgMsP95nQ5f37-vJ5R42yb0c1pBZCLl_mNW3WiTP_e4Ghwf8mlKrPqKGn5X8T9JwXqDM4u9QOZAjlTTpkxhAUn9Am4XkldTg5E3OLQYjZjqgAKwgLMUOU2yu1U_szM_VyVceHMsvlDDh4RANYR2hHvECkrdpy7FD2x_UG7kx2dP6bqJrlhO8xVahT66OW8EX-3HJ68rrRSYt3GzuvTavzTkOS-XzroI4zFjQxm4Ye7mUk6BbtpZwYMFBlXRh_7YItH6XdICQYLqhsYGCmQlZoqQfwCZ_lZA-wxzXApcjkNxqWEuKLckwi4Lug3SyrHEtbYtNqTzaS62HsaLfEidhdwLSIL3vxJ09wTI3oyR-wrFrqBel21mCcH5rLUp3qb1OUt0n7ojldhIGfzFuEuPUocaTHr4s5JBaoH4drv55NkrzifQrEbPoq91BcF3Za_lEPtZD-sgVL7X2eEu3d8W58Yf0cBT1kyJNRv6Mu10mGwczdZtZAPmC7vUW_hsrN3Teu2cXARAKE96ouVUydHIXOf30jCNv9wtyWL8OojMkQiIlInR8r1lnXmRYUHrMgIKHfDBSd5pNZS_svvmbAhm6UNfdh6W473vmYCocwooI7DdW-91DZUAW7hTd2FQ9ydmN_iDSmZUYrnEHQYEWyMsT2e41I1RVrNkfp3nsf_TrYZDGYlv8giigeickCQQSXs2qgq68tLRI7h1Niz5RUQ0EMNqcfUlM_R9bC2N2HymCPmPZZWkrEzXgALOUUZWpdlUCoi8OpQ9XFwUzPE2m9KE3hbI1bN1MrgJTMfwYjWYagVgxYxk4ldJL6rIgECbn5ifENIfgLWy2GVI5omyNCvtGhw-CjX5wHM3Oa8lR2nV6qGi7sfonEddk5PgtKL6QyZZ6ylwqugEZZIzkcY1j9zWdblPDq8nHI9o_DNWsy_ixmf6K6016gk1WxCb67iFlqYiC1lYSwJV2_3JkYqrznrAAiskOTDmlmtwwuN2VXRO6buX2X75OpeukxuRBBaO81TKdsWYPWKbzTO4EDZzHRS7QRrQViNDvoUqSgZSe-r5N6Ezj9bFwp3os=","format":"openai-responses-v1","id":"rs_09029a2dc312d9a70168f78e1ae6848194985709ebc38f7346","index":0,"type":"reasoning.encrypted"}]},{"content":"40 C","tool_call_id":"call_V9rp4VzfGhqfligrK0CjAvky","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.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-1761054238-xQNrpePK82YW0rGinOOz\",\"provider\":\"OpenAI\",\"model\":\"openai/gpt-5\",\"object\":\"chat.completion\",\"created\":1761054238,\"choices\":[{\"logprobs\":null,\"finish_reason\":\"stop\",\"native_finish_reason\":\"completed\",\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"Right now in Florence, Italy, it’s 40°C (about 104°F). Would you like details like wind, humidity, or a forecast?\",\"refusal\":null,\"reasoning\":\"**Reporting Florence weather**\\n\\nThe tool says the temperature in Florence is 40°C, which is extremely hot. I plan to present this clearly: “It’s 40°C (104°F) right now.” The user asked specifically about Florence’s weather, but since I only have the temperature, I’ll let them know that if they want more details like the forecast, humidity, or wind information, they can ask. I’ll keep the formatting minimal and straightforward!\",\"reasoning_details\":[{\"type\":\"reasoning.summary\",\"summary\":\"**Reporting Florence weather**\\n\\nThe tool says the temperature in Florence is 40°C, which is extremely hot. I plan to present this clearly: “It’s 40°C (104°F) right now.” The user asked specifically about Florence’s weather, but since I only have the temperature, I’ll let them know that if they want more details like the forecast, humidity, or wind information, they can ask. I’ll keep the formatting minimal and straightforward!\",\"format\":\"openai-responses-v1\",\"index\":0},{\"type\":\"reasoning.encrypted\",\"data\":\"gAAAAABo944jF01C67U4zDS7nK1XiLlkDBfH87ZsVtc4nIRLaWALjHhJRqXKuNPEL-ImKNW49wXPUm0uwziVgchbOw_cUOQDdsocetEHg4UDFCq_Qqm7wdAesjwQSMXeuN0XF3yuO6rLa33kPRPzA9sh-Y-SiXnX_B1jjaVpztt-XlWZrAemaFQk_5qehuqVG83MZqQT4CL1x5TwXHQW4MrmYzVRC_gneZGtEXrmY0Dk_2nNGsogFgsb8obWNouVI43UexMaxkZe3CNN2hOUz0Wy3j46ErR4th8VDFK3eebzpsdsHWkvVva4_2hAhEQFgDgAknQVY1TiCTEVg0jcvpOCuVLb41RXax4atO1tYAYvyutG1NK_MNGpjlmRwQuPk3yFXNoSvHq4kb1_YK4RZYLlcJSkzFxXSGWgKzttv9T8eaA6_oRWUu1MZEQSrIrwyMDic5ZwBBoJyuFobknZ9V8Lt2syWDgarOBwvuRE075xIHLAMPP4gE4eB6Z_AMpD6evadjBSdc3HxX96qhGAuINehOjhhAQ_-j4-fu3knAEKb3uoR7e4tAu5voW9f0Q4eutLZSzDMz_ARloK3gd3mCCZbQBPGJIuMA9kHQAqUpmYWrqimIM9OJZ9RowU3Bnhi4L63f-4iWB5Ebb5z4gjuRwKn6BI5n_8VkimJgSLYYQfXBl5YOsk2k0JnfjX7lFMbVAiHxnxwSn7ekD2-Js_mw0GSBkRx_rutRlXrQ8B09qnvoy-S1zlZC9EowksQtTLjt-RKwqtBZoKu0USOpMuRNibBqybcR55MTWlsuqj2DNiL1p5jPW3tqJsYQj5kLW2J9SsH96vfpufEnfykt1inLfqQyy-v1MKge9Chuq3Z_wKtfkmVY5n8CPryXIngSrI6965uxK292BDS-k7LlvYU8kwN_m1ILm2i4r7YY-rSZkoKPrKL7IGomhjr9mw3wNK4Ta27uw4syVyRLyQ0gl6FnmPJcRcbsWb774C6JTYklHa-jJXNLL_AHeBZbBAR3Too5Cvk_ZTLQQXsPHNqD6us2vLqUlJHtJLJTiR98XOt_pDfCBKHm0EZyeSL2fq9FOUCY32-F4uPeZEROd1zZF-Tx0j45VlePpTAYZ7JQEvuOrH89iAPw8JwxgZgqcWqI3Ky9cZF5-d5Lxs2C_KoNMcvXr7gTjaOXsKEs0C529sdpo-Yfd_WyZj8LI46L70qmBF7n66hDsKQjyyVdb8x9u3UAbURtlROhXOx_E8hK0S9QeN4VIlfi2GPfysvADSesWdWMx0FmVaLYX9IXpuOh15cfCLl6Oob1GjUrvlEDown_6GUOW20ZJIJG8s_s8wjTa7TvlCaVF8B1f7rq1RtlnscAswMFRW5itVj3Fcz83W6cUx4nuvPifs3_MrQ1Ef6ErfizAbC_o2ZOs0WMr5XAfNBITgCb_JiNmjoZKrMhEpXLkpgDE1JYZw9NlGtwBJaE1GbtOP5cNDIZMjcqms75vej-gqS6CqzWm7DsPxoOabYlROMMJveFiEdtLNZUXwaLN8cOU84t9BRSuo64yNRHgHyVlvTKwTy5uodoivkgWh5xZ4cx_ro396f-fpCAVaWQ6Zfd3LVCAqkMxkJKR7MJlQ7mGrSf-Z1XVs-G2gJ0ST4PFa_Mflww0r-P3igvzbr1quOBwxgHKU7oozO6lws47aeMJxdeODrDN0zw==\",\"id\":\"rs_09029a2dc312d9a70168f78e1f6924819494d36d087f855215\",\"format\":\"openai-responses-v1\",\"index\":0}]}}],\"usage\":{\"prompt_tokens\":204,\"completion_tokens\":165,\"total_tokens\":369,\"cost\":0.001905,\"is_byok\":false,\"prompt_tokens_details\":{\"cached_tokens\":0,\"audio_tokens\":0},\"cost_details\":{\"upstream_inference_cost\":null,\"upstream_inference_prompt_cost\":0.000255,\"upstream_inference_completions_cost\":0.00165},\"completion_tokens_details\":{\"reasoning_tokens\":128,\"image_tokens\":0}}}"
    headers:
      Content-Type:
      - application/json
    status: 200 OK
    code: 200
    duration: 729.454917ms
