1---
2version: 2
3interactions:
4- id: 0
5 request:
6 proto: HTTP/1.1
7 proto_major: 1
8 proto_minor: 1
9 content_length: 551
10 host: ""
11 body: '{"store":false,"include":["reasoning.encrypted_content"],"input":[{"content":"You are a helpful assistant","role":"developer"},{"content":[{"text":"What''s the weather in Florence, Italy?","type":"input_text"}],"role":"user"}],"model":"gpt-5","reasoning":{"effort":"high","summary":"auto"},"tool_choice":"auto","tools":[{"strict":false,"parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"},"name":"weather","description":"Get weather information for a location","type":"function"}]}'
12 headers:
13 Accept:
14 - application/json
15 Content-Type:
16 - application/json
17 User-Agent:
18 - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
19 url: https://api.openai.com/v1/responses
20 method: POST
21 response:
22 proto: HTTP/2.0
23 proto_major: 2
24 proto_minor: 0
25 content_length: -1
26 uncompressed: true
27 body: |-
28 {
29 "id": "resp_075b435690aee51e0169b3196ee5ec819ea14e6d34ecdd4aed",
30 "object": "response",
31 "created_at": 1773345134,
32 "status": "completed",
33 "background": false,
34 "billing": {
35 "payer": "developer"
36 },
37 "completed_at": 1773345139,
38 "error": null,
39 "frequency_penalty": 0.0,
40 "incomplete_details": null,
41 "instructions": null,
42 "max_output_tokens": null,
43 "max_tool_calls": null,
44 "model": "gpt-5-2025-08-07",
45 "output": [
46 {
47 "id": "rs_075b435690aee51e0169b3196f54a8819e9a33c038fdc1f932",
48 "type": "reasoning",
49 "encrypted_content": "gAAAAABpsxlz3zqwjvVFph3GpyCoNOUWPvEYHgvC39jVaRRd3SQ2K3vbO0ocwgzzM5dsBis4F8Ow3j5jcd3B8xKCqy7Wsxsfe2zz_DaERYO_bLZc3NjID8kelhxHKcuocSNx9tVQWpNTxUoYCveFyCyveaZ3lt0u4SZGWK_ZAkfIgmsGfddN-UeUH2lyheldZajgTPwa_PZQgTpcY7ERXCM_jh__IT1zibygPsb4u5G-XPvtkjA2oirQ8KbzaWqWhjj_hOJ43g_jePL0v1LHSNC9SiIVMmbifsBoQ6smsOYl3e_227AwvLspEWH10T1FtajmyfOPGYhRr1ZPfyx2eRDcP0vMPIejfDgLfKZklJUeErKVZrx785QR4ugWM7Qr2nggdM15H2rWQoZumX-RNQNtAVYTXmnyQPwoWbtL0fQ7oZDmEw9o0rQo987rawE2cjgrE9yic4wPw14g2fciUgluYaESuuJnNa4ebOawL2iIRWzrV6GNF6B6dkxmByHv8BGwZbZV3afroFwRc3C9-3M0wglbNlwyPiWWL0VMcaHUNlyk2cEFn-sgzBv2bYPtu3KSK0ww54r2iwxoPr7BvLf61HnPeiaWVxdcrhYWexAaUjMyAtDTWzwHKVwDVVCk-uspqH_PRxu5bxq6KkOjA6COUlwCEoGeopc5f6WdopbFlYekzY4hd73DiFJYfArUfcFyLf0kB475TTeLhCQtdlsAjwZyqk2rNKxV1D4Td0RsibuanFKcKc3WsShVypvNWd7WjByl13xUHXOFZ_LN6dX_ZhfDAW21N4Yp5XWHBT59xlvF7oeh6CvdgN21SJ0HfyurQBbI4TyhwX3xB9doC-Qhh-rDURnA3LZUCN3Iudg0Eo0RjJCbmT_Crv-PthflMMT95TR6M4LXv7puGvx94Xemc7H2BtFy9E3If0Zsf8uRksxr89Er23vwkaKTtRsMvX1wGPUgpcaxyMqV5FWwLj2-dennw2lDHTk2k46YeeaeSrn0lkV-s1-pQw9GwPIy-Mcmo6Aa_ncLETgyRGHLSTH28SElvWXgsa4oa8XypwNISTATjwzgM9yGhXbmA9CVbXCuhQ0uKzGgNzsYOwBqtxS8aVigdTPj9ktCZJD2Y4GziE-i7q4FLc511fiIMQZC-MUNMQO4d7A1kEveveZZntjiP-ZfBvdXMSb24fxfKWhAguFREzVm-7V8tbweipr5s950Ae7uJqjM_TJ4xGs66lg-TLTJLCCho4EnfYqjAmU-cR1o3l6A9RQXTzW4Okmh4oKyhlsWkL2LbMKU5UUfIfnWYM8vsJA75CPR633cGscm2Ku5SNdu5bY6cReO2YN8yRqViEUi4K04ORzaO9xNLnS3tf0FYsv7g2yM88eOEsLoCpHRsXdpvslmxKYb6K4Kjo24wvLuduTy19OzCsF4v69vcgUUOAwvPnJMfdYK9mQOTUmNyxqJ-wErLLn3FkUXylUvLDsb7bQtGZqwYh2e65YuQvOzRA2Djv_dUAaVquf3bl0TQAu0iQp9ddOSfwjfH96B1ZUH2KIP",
50 "summary": [
51 {
52 "type": "summary_text",
53 "text": "**Getting weather information**\n\nI need to gather weather info, and I see that the tool functions.weather is here for that. Since we only need one call, using multi_tool_use.parallel isn't necessary. I'll go ahead and use functions.weather with the location \"Florence, Italy.\" There\u2019s no need for parallel execution. It's important to use this tool and provide the output based on whatever it returns. Time to make that call!"
54 }
55 ]
56 },
57 {
58 "id": "fc_075b435690aee51e0169b319730394819e92318d9404c5f97f",
59 "type": "function_call",
60 "status": "completed",
61 "arguments": "{\"location\":\"Florence, Italy\"}",
62 "call_id": "call_1z70BexeUjpiAcqPgwQiiVRh",
63 "name": "weather"
64 }
65 ],
66 "parallel_tool_calls": true,
67 "presence_penalty": 0.0,
68 "previous_response_id": null,
69 "prompt_cache_key": null,
70 "prompt_cache_retention": null,
71 "reasoning": {
72 "effort": "high",
73 "summary": "detailed"
74 },
75 "safety_identifier": null,
76 "service_tier": "default",
77 "store": false,
78 "temperature": 1.0,
79 "text": {
80 "format": {
81 "type": "text"
82 },
83 "verbosity": "medium"
84 },
85 "tool_choice": "auto",
86 "tools": [
87 {
88 "type": "function",
89 "description": "Get weather information for a location",
90 "name": "weather",
91 "parameters": {
92 "properties": {
93 "location": {
94 "description": "the city",
95 "type": "string"
96 }
97 },
98 "required": [
99 "location"
100 ],
101 "type": "object"
102 },
103 "strict": false
104 }
105 ],
106 "top_logprobs": 0,
107 "top_p": 1.0,
108 "truncation": "disabled",
109 "usage": {
110 "input_tokens": 63,
111 "input_tokens_details": {
112 "cached_tokens": 0
113 },
114 "output_tokens": 128,
115 "output_tokens_details": {
116 "reasoning_tokens": 64
117 },
118 "total_tokens": 191
119 },
120 "user": null,
121 "metadata": {}
122 }
123 headers:
124 Content-Type:
125 - application/json
126 status: 200 OK
127 code: 200
128 duration: 4.511691209s
129- id: 1
130 request:
131 proto: HTTP/1.1
132 proto_major: 1
133 proto_minor: 1
134 content_length: 786
135 host: ""
136 body: '{"store":false,"include":["reasoning.encrypted_content"],"input":[{"content":"You are a helpful assistant","role":"developer"},{"content":[{"text":"What''s the weather in Florence, Italy?","type":"input_text"}],"role":"user"},{"arguments":"\"{\\\"location\\\":\\\"Florence, Italy\\\"}\"","call_id":"call_1z70BexeUjpiAcqPgwQiiVRh","name":"weather","type":"function_call"},{"call_id":"call_1z70BexeUjpiAcqPgwQiiVRh","output":"40 C","type":"function_call_output"}],"model":"gpt-5","reasoning":{"effort":"high","summary":"auto"},"tool_choice":"auto","tools":[{"strict":false,"parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"},"name":"weather","description":"Get weather information for a location","type":"function"}]}'
137 headers:
138 Accept:
139 - application/json
140 Content-Type:
141 - application/json
142 User-Agent:
143 - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
144 url: https://api.openai.com/v1/responses
145 method: POST
146 response:
147 proto: HTTP/2.0
148 proto_major: 2
149 proto_minor: 0
150 content_length: -1
151 uncompressed: true
152 body: |-
153 {
154 "id": "resp_075b435690aee51e0169b319736be0819ea63b2b27ecbb91a2",
155 "object": "response",
156 "created_at": 1773345139,
157 "status": "completed",
158 "background": false,
159 "billing": {
160 "payer": "developer"
161 },
162 "completed_at": 1773345151,
163 "error": null,
164 "frequency_penalty": 0.0,
165 "incomplete_details": null,
166 "instructions": null,
167 "max_output_tokens": null,
168 "max_tool_calls": null,
169 "model": "gpt-5-2025-08-07",
170 "output": [
171 {
172 "id": "rs_075b435690aee51e0169b319741a8c819e9ddb8e4886799617",
173 "type": "reasoning",
174 "encrypted_content": "gAAAAABpsxl_jPfSWqxtyp8aqpWzeHLs-fmW8jdC7aCqvNYybxg4Ak0bpb1vy_YXoPoRThh25H6aM4URRDaMxHPduZ3osUmb4HRdgSaiKsw1I709PL44HxeHqE6fXbUmiGeLA5iJhg_kF4W_UN2zwrFzRZjFTnS13nKCK3AS5_fqbcSpVQ0RXSL5jM_hSk0J36IPJuTa7TB-J0KBgO1VwzHC_WeKjG-nXeejNb31312q6Fje8BP-YOeK_lYlT9GWeOxQ5K2ZTV49UGr_qhx6z2WpWfvETvCDmIHzy9P6oY5SA-J5xBly2ould4sfaxCM2c6eEX8g8SMdpvB6pERZwDN8j3MRLlgje6dAM90b6KlksvOpXCBBCYBrDS8-GbNejTZ_8etg7wVtgBtMnfEpLv2DarDZ1nS3naCFrcJuAqOPzfyxDEmREJhAN5pwUrKIHzkhQzfYQ2eVdJYOPANjGL_T1j6D6MSNcBDLjRwpjsC27Wer_XhsD-wKCAf1P-ylTuLwMRMiSLqhcicbt2yzW8OrPkqi8-Rxqa_nYqHmfHq7hZZ5s6FfjEeh-iK1vWBcgRlzPgFOM9a2DdpIB1WqXHb2ysCACImyqrxY6OY3J5YDN6cE8N5K4gC3simNtBLiNDae3_dbt9233ituqprv9j52u5BUbvJhqUUShKYQDLX9bP3qEi1TOcwAGI6X5JmckFz6obUWaoWZgjhM3-88Z_d-aY-oJFy2CbltjM3JVw9xM9E5VyfvmrLkLJEl0Nb5ImiH48_ICoGd2PFJl3OyjpuxVferrVtOz9ngJxju9ENha4UqnpGBmyaIqokrynH0FgUcil7Vb0BC1IWtg5Cou22i7oOW1khuOLr9bsTcmabDaQ8rIFZXITBA1Wt6Rk2FC3t1-OAWwB27RLrSbvRt5PfuBIu7J9kgGYt4jJPLDl-_vw3YHQBzDGj3t6miz_JyrAOVw0UBwuLcQgW_7sLHE6LMUXdIPX3mjqxhdAvS0WY_HUoxFznrhUCYIRWpcOFlGiUSujic8usPtXZIJDw79NSZph0e2B-WTIueFU4iYE2FAMG3PW3QKHUCib49z_YCBYIGzPfENFGJSCO8eKH33WB4dKNc7AoBsZ5WPLvDf3qHJvqNDnkMc94voQ9bf-C7syDSeTaC37H1Pb_YOk-d5oWlcruBgo_4n5Evh24tAj-U7i86VHhlmWXu0itarRB16XeRqbIDT28o_pBtCVJxhTEyJtGYwp91azDWC18V8HeIM1q9eTsyWuCKBUEb2wTxH36wIoGKiwhPpyIvj-ZqckI9-qqI4Mb5HRSp8HG6_flICJL8ukp5-idrLfVEP2YelTMYeR3af4me3fdproSWXHUWU_k6tXEaeh6O_sR9ppdYQvUeGNL5Oja3mN156PSnvImqnmisu5sWe17AcqnIGx1CV-wmIBXtgSusphHf2cs9H8d5VBHotWtdJAzlG8ZKYvWlAZZxYWmsGeWW0u55h_nzy-ubHxPs3OfHTtpvZ3zGVxq4hliWsQFHqIcV-PU9KQKU_lGV4NFIecV1Z_EpxVme__vpskB3nDWwbH_y0Y_XPiUYljC3M7sEuJqs5xGlYTeTQKHnJZh8DduFnim5f72Zh-M-pKKd7AjO7w3TkfC8mAnUEShiH4of5mX5T6x4aAQqWOrKzgM231J0QTL9kFyo95wI6ttjLSvwLvo3W0PavUuHQcRgW6uQ7RWzFoBr1GtZn521pKsCZwzuHAEQCm527jUinRAPkSm4Qq37wkBPQMpa3NS4h-S2OwFccdxCTP4fvBFqP7maapwJ6vdqOH2R-TBp-2Bc6nmRun17y0TxoRm2IQ3uDT5nzpkbVYzfGiN1Q-RXw4Tf8H0QBJdAerbpUIdpmUVkwoORRxGNmL_P_emhQX3MtAdQHIxZat31Vqvge6B3uvV40vqB4wWSgi9O055dEr_kla5ZSjuCxhR42N4Zf3OwV6bongH9gMsQRdLEGOhDWI_QEGEYTpktr_6xDmsrEuAczwLo8d6F24NDCYITLG8h3g572EfxAGvgN5XbFwwbTq2ma_sq5xmouepK824sX08s6uNo1YlQbmp4SuBpgWzSHQ_WiZxiUuG9hKuSQ_J30vdrhVFCLDc4CWMKs-m89fZY0GuawduDnTN3pGsIUwXywAegQWbTkcQobxmbtDgaHAJ8-6P9TlrsLBhGykIgtxIgcdaCdo-slzY7bmXb0AbGQpE9WSaAYFoHRW0Y4WyKVhTc_pE0mXkjJLWrW5AtivxYi-KxfwLMLc9E5bnPEXkrXf48MSzKbhrtt4pYI9NbnZv42x88G3KGZR-PznUOoslqvX7I_hqyySKW303-AYJQrDeCVHIImZ4P4YCrHs0aGfnoZpW2uy5waYJXNCpWgruAbDl4xr8bds2MfGVoFyiyA9xpNnrJ2yyyZ00iMvcO3NHqL3dti07xUon26HZ7mclCFBTmhIYqDv_HFXtyZ8yuy3qHm4t_UtO856U1kkQNztsYb4BGXglw_mTB4ktLStV8UfjmNK2PAyJFNOeQ2dod9NHD1SmsxJ3gRZd9zglvodYBfVmKrSot0ftLCvij3sAr505QaFQcQ6Hxh4TY8781dn8xdMHjZ8HTofpsZLz5itt9ec26jjbyAL5FzndJuHREWqzTvQrwgiWGkKkGdNswPJTBKSG2CoFJaDpQYfeC2STqQwLU9Xfxc33GrOHyzcGjQF4SbMErSrqFf5rMxBO3QqkXSKtxWwweD0cnWysjJwBMRal3K-8gBqMIAcJwMjwt0djQfYxdqvpCfMFNjH3MYui_jjPDmpgHYPXw2Z6u7YZ_Aw4nM2ae94soQ9AoHKVJ-nz9wUXbw-zj67nxGe1KqtCaxXtx5ua9FY_XlEZqm2lSb6RDjzrKP8Uy9hLxwoL_jD4IVdYisHzofLLBzvnyBpS6ebrj30MzpownlhlJ5UA9qvbaUKFhqLiGalwnEUA7L4maXxe_8ZnXFnwM8d3KxLDJ0mnfomZMTNgDy6ELYWrI5pOuwO4pee844EbMEnJnwzGL94RVPp69RkZivRxzg8AWn16OlrqIjjutMXg1ig8y3cL7ijv5jzHx60ys7_tvRMjIVmcCR5sbeVY_TTBnDQ3Mg5NpxWfakFwHLSL_B25z19VdIq3fctvhFVGIS_mN-eXyTTmDrNL2YizGIzWGBxy4y4TPWufSvu0O1_IS3nlSz5V1ivRy6zdZIuAtSLTOlOQpjxVfq-Dq4w66wo5sGGTwzrglQmjyj30gv8uIcODqepNtVlV_DSK3hfEymnZlWlH0ec6Akv2pF_QQWl4r7jH0Zk-oS2gvyrgUeyn7EAWUs_UrfS4059Ny77HXJ_8L4jod7SLubwBl_2IvgxvtgvOca9zMv020ceNVrW7x_kR1y3eM30XIXDRr4QyL4-sAYJ0sODI5KrTSS6jIbHrtC__5jaeLFypAFkhofVJL59Kf",
175 "summary": [
176 {
177 "type": "summary_text",
178 "text": "**Providing weather update**\n\nOkay, I need to give the current weather in Florence, Italy. It's about 40\u00b0C, which converts to 104\u00b0F. I should ask if the user wants a forecast for today or the next few days. It might also be helpful to remind them to stay hydrated since it's very hot. But I need to keep it straightforward and minimal. So, here\u2019s what I\u2019ll present: \"Current weather in Florence, Italy: 40\u00b0C (104\u00b0F). Want the hourly or 7-day forecast?\""
179 }
180 ]
181 },
182 {
183 "id": "msg_075b435690aee51e0169b3197f2a24819e815e6689dfc4d1e7",
184 "type": "message",
185 "status": "completed",
186 "content": [
187 {
188 "type": "output_text",
189 "annotations": [],
190 "logprobs": [],
191 "text": "It\u2019s currently about 40\u00b0C (104\u00b0F) in Florence, Italy. Would you like the hourly or 7-day forecast?"
192 }
193 ],
194 "role": "assistant"
195 }
196 ],
197 "parallel_tool_calls": true,
198 "presence_penalty": 0.0,
199 "previous_response_id": null,
200 "prompt_cache_key": null,
201 "prompt_cache_retention": null,
202 "reasoning": {
203 "effort": "high",
204 "summary": "detailed"
205 },
206 "safety_identifier": null,
207 "service_tier": "default",
208 "store": false,
209 "temperature": 1.0,
210 "text": {
211 "format": {
212 "type": "text"
213 },
214 "verbosity": "medium"
215 },
216 "tool_choice": "auto",
217 "tools": [
218 {
219 "type": "function",
220 "description": "Get weather information for a location",
221 "name": "weather",
222 "parameters": {
223 "properties": {
224 "location": {
225 "description": "the city",
226 "type": "string"
227 }
228 },
229 "required": [
230 "location"
231 ],
232 "type": "object"
233 },
234 "strict": false
235 }
236 ],
237 "top_logprobs": 0,
238 "top_p": 1.0,
239 "truncation": "disabled",
240 "usage": {
241 "input_tokens": 202,
242 "input_tokens_details": {
243 "cached_tokens": 0
244 },
245 "output_tokens": 471,
246 "output_tokens_details": {
247 "reasoning_tokens": 384
248 },
249 "total_tokens": 673
250 },
251 "user": null,
252 "metadata": {}
253 }
254 headers:
255 Content-Type:
256 - application/json
257 status: 200 OK
258 code: 200
259 duration: 12.040060083s