@bodhiapp/ts-client 0.1.27 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3391 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/v1/messages": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ get?: never;
14
+ put?: never;
15
+ /**
16
+ * Create a Message
17
+ * @description Send a structured list of input messages with text and/or image content, and the model will generate the next message in the conversation.
18
+ *
19
+ * The Messages API can be used for either single queries or stateless multi-turn conversations.
20
+ *
21
+ * Learn more about the Messages API in our [user guide](https://docs.claude.com/en/docs/initial-setup)
22
+ */
23
+ post: operations["messages_post"];
24
+ delete?: never;
25
+ options?: never;
26
+ head?: never;
27
+ patch?: never;
28
+ trace?: never;
29
+ };
30
+ "/v1/models": {
31
+ parameters: {
32
+ query?: never;
33
+ header?: never;
34
+ path?: never;
35
+ cookie?: never;
36
+ };
37
+ /**
38
+ * List Models
39
+ * @description List available models.
40
+ *
41
+ * The Models API response can be used to determine which models are available for use in the API. More recently released models are listed first.
42
+ */
43
+ get: operations["models_list"];
44
+ put?: never;
45
+ post?: never;
46
+ delete?: never;
47
+ options?: never;
48
+ head?: never;
49
+ patch?: never;
50
+ trace?: never;
51
+ };
52
+ "/v1/models/{model_id}": {
53
+ parameters: {
54
+ query?: never;
55
+ header?: never;
56
+ path?: never;
57
+ cookie?: never;
58
+ };
59
+ /**
60
+ * Get a Model
61
+ * @description Get a specific model.
62
+ *
63
+ * The Models API response can be used to determine information about a specific model or resolve a model alias to a model ID.
64
+ */
65
+ get: operations["models_get"];
66
+ put?: never;
67
+ post?: never;
68
+ delete?: never;
69
+ options?: never;
70
+ head?: never;
71
+ patch?: never;
72
+ trace?: never;
73
+ };
74
+ }
75
+ export type webhooks = Record<string, never>;
76
+ export interface components {
77
+ schemas: {
78
+ /** APIError */
79
+ APIError: {
80
+ /**
81
+ * Message
82
+ * @default Internal server error
83
+ */
84
+ message: string;
85
+ /**
86
+ * @description discriminator enum property added by openapi-typescript
87
+ * @enum {string}
88
+ */
89
+ type: "api_error";
90
+ };
91
+ /**
92
+ * AllowedCaller
93
+ * @description Specifies who can invoke a tool.
94
+ *
95
+ * Values:
96
+ * direct: The model can call this tool directly.
97
+ * code_execution_20250825: The tool can be called from the code execution environment (v1).
98
+ * code_execution_20260120: The tool can be called from the code execution environment (v2 with persistence).
99
+ * @enum {string}
100
+ */
101
+ AllowedCaller: "direct" | "code_execution_20250825" | "code_execution_20260120";
102
+ /** AuthenticationError */
103
+ AuthenticationError: {
104
+ /**
105
+ * Message
106
+ * @default Authentication error
107
+ */
108
+ message: string;
109
+ /**
110
+ * @description discriminator enum property added by openapi-typescript
111
+ * @enum {string}
112
+ */
113
+ type: "authentication_error";
114
+ };
115
+ /** Base64ImageSource */
116
+ Base64ImageSource: {
117
+ /**
118
+ * Data
119
+ * Format: byte
120
+ */
121
+ data: string;
122
+ /**
123
+ * Media Type
124
+ * @enum {string}
125
+ */
126
+ media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
127
+ /**
128
+ * @description discriminator enum property added by openapi-typescript
129
+ * @enum {string}
130
+ */
131
+ type: "base64";
132
+ };
133
+ /** Base64PDFSource */
134
+ Base64PDFSource: {
135
+ /**
136
+ * Data
137
+ * Format: byte
138
+ */
139
+ data: string;
140
+ /**
141
+ * Media Type
142
+ * @constant
143
+ */
144
+ media_type: "application/pdf";
145
+ /**
146
+ * @description discriminator enum property added by openapi-typescript
147
+ * @enum {string}
148
+ */
149
+ type: "base64";
150
+ };
151
+ /**
152
+ * BashCodeExecutionToolResultErrorCode
153
+ * @enum {string}
154
+ */
155
+ BashCodeExecutionToolResultErrorCode: "invalid_tool_input" | "unavailable" | "too_many_requests" | "execution_time_exceeded" | "output_file_too_large";
156
+ /** BashTool_20250124 */
157
+ BashTool_20250124: {
158
+ /** Allowed Callers */
159
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
160
+ /**
161
+ * Cache Control
162
+ * @description Create a cache control breakpoint at this content block.
163
+ */
164
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
165
+ /**
166
+ * Defer Loading
167
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
168
+ */
169
+ defer_loading?: boolean;
170
+ /** Input Examples */
171
+ input_examples?: {
172
+ [key: string]: components["schemas"]["JsonValue"];
173
+ }[];
174
+ /**
175
+ * Name
176
+ * @description Name of the tool.
177
+ *
178
+ * This is how the tool will be called by the model and in `tool_use` blocks.
179
+ * @constant
180
+ */
181
+ name: "bash";
182
+ /**
183
+ * Strict
184
+ * @description When true, guarantees schema validation on tool names and inputs
185
+ */
186
+ strict?: boolean;
187
+ /**
188
+ * Type
189
+ * @constant
190
+ */
191
+ type: "bash_20250124";
192
+ };
193
+ /** BillingError */
194
+ BillingError: {
195
+ /**
196
+ * Message
197
+ * @default Billing error
198
+ */
199
+ message: string;
200
+ /**
201
+ * @description discriminator enum property added by openapi-typescript
202
+ * @enum {string}
203
+ */
204
+ type: "billing_error";
205
+ };
206
+ /** CacheControlEphemeral */
207
+ CacheControlEphemeral: {
208
+ /**
209
+ * Ttl
210
+ * @description The time-to-live for the cache control breakpoint.
211
+ *
212
+ * This may be one the following values:
213
+ * - `5m`: 5 minutes
214
+ * - `1h`: 1 hour
215
+ *
216
+ * Defaults to `5m`.
217
+ * @enum {string}
218
+ */
219
+ ttl?: "5m" | "1h";
220
+ /**
221
+ * @description discriminator enum property added by openapi-typescript
222
+ * @enum {string}
223
+ */
224
+ type: "ephemeral";
225
+ };
226
+ /** CacheCreation */
227
+ CacheCreation: {
228
+ /**
229
+ * Ephemeral 1H Input Tokens
230
+ * @description The number of input tokens used to create the 1 hour cache entry.
231
+ * @default 0
232
+ */
233
+ ephemeral_1h_input_tokens: number;
234
+ /**
235
+ * Ephemeral 5M Input Tokens
236
+ * @description The number of input tokens used to create the 5 minute cache entry.
237
+ * @default 0
238
+ */
239
+ ephemeral_5m_input_tokens: number;
240
+ };
241
+ /**
242
+ * CapabilitySupport
243
+ * @description Indicates whether a capability is supported.
244
+ */
245
+ CapabilitySupport: {
246
+ /**
247
+ * Supported
248
+ * @description Whether this capability is supported by the model.
249
+ */
250
+ supported: boolean;
251
+ };
252
+ /**
253
+ * CodeExecutionToolResultErrorCode
254
+ * @enum {string}
255
+ */
256
+ CodeExecutionToolResultErrorCode: "invalid_tool_input" | "unavailable" | "too_many_requests" | "execution_time_exceeded";
257
+ /** CodeExecutionTool_20250522 */
258
+ CodeExecutionTool_20250522: {
259
+ /** Allowed Callers */
260
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
261
+ /**
262
+ * Cache Control
263
+ * @description Create a cache control breakpoint at this content block.
264
+ */
265
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
266
+ /**
267
+ * Defer Loading
268
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
269
+ */
270
+ defer_loading?: boolean;
271
+ /**
272
+ * Name
273
+ * @description Name of the tool.
274
+ *
275
+ * This is how the tool will be called by the model and in `tool_use` blocks.
276
+ * @constant
277
+ */
278
+ name: "code_execution";
279
+ /**
280
+ * Strict
281
+ * @description When true, guarantees schema validation on tool names and inputs
282
+ */
283
+ strict?: boolean;
284
+ /**
285
+ * Type
286
+ * @constant
287
+ */
288
+ type: "code_execution_20250522";
289
+ };
290
+ /** CodeExecutionTool_20250825 */
291
+ CodeExecutionTool_20250825: {
292
+ /** Allowed Callers */
293
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
294
+ /**
295
+ * Cache Control
296
+ * @description Create a cache control breakpoint at this content block.
297
+ */
298
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
299
+ /**
300
+ * Defer Loading
301
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
302
+ */
303
+ defer_loading?: boolean;
304
+ /**
305
+ * Name
306
+ * @description Name of the tool.
307
+ *
308
+ * This is how the tool will be called by the model and in `tool_use` blocks.
309
+ * @constant
310
+ */
311
+ name: "code_execution";
312
+ /**
313
+ * Strict
314
+ * @description When true, guarantees schema validation on tool names and inputs
315
+ */
316
+ strict?: boolean;
317
+ /**
318
+ * Type
319
+ * @constant
320
+ */
321
+ type: "code_execution_20250825";
322
+ };
323
+ /**
324
+ * CodeExecutionTool_20260120
325
+ * @description Code execution tool with REPL state persistence (daemon mode + gVisor checkpoint).
326
+ */
327
+ CodeExecutionTool_20260120: {
328
+ /** Allowed Callers */
329
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
330
+ /**
331
+ * Cache Control
332
+ * @description Create a cache control breakpoint at this content block.
333
+ */
334
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
335
+ /**
336
+ * Defer Loading
337
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
338
+ */
339
+ defer_loading?: boolean;
340
+ /**
341
+ * Name
342
+ * @description Name of the tool.
343
+ *
344
+ * This is how the tool will be called by the model and in `tool_use` blocks.
345
+ * @constant
346
+ */
347
+ name: "code_execution";
348
+ /**
349
+ * Strict
350
+ * @description When true, guarantees schema validation on tool names and inputs
351
+ */
352
+ strict?: boolean;
353
+ /**
354
+ * Type
355
+ * @constant
356
+ */
357
+ type: "code_execution_20260120";
358
+ };
359
+ /**
360
+ * Container
361
+ * @description Information about the container used in the request (for the code execution tool)
362
+ */
363
+ Container: {
364
+ /**
365
+ * Expires At
366
+ * Format: date-time
367
+ * @description The time at which the container will expire.
368
+ */
369
+ expires_at: string;
370
+ /**
371
+ * Id
372
+ * @description Identifier for the container used in this request
373
+ */
374
+ id: string;
375
+ };
376
+ /** ContentBlockSource */
377
+ ContentBlockSource: {
378
+ /** Content */
379
+ content: string | (components["schemas"]["RequestTextBlock"] | components["schemas"]["RequestImageBlock"])[];
380
+ /**
381
+ * @description discriminator enum property added by openapi-typescript
382
+ * @enum {string}
383
+ */
384
+ type: "content";
385
+ };
386
+ /**
387
+ * ContextManagementCapability
388
+ * @description Context management capability details.
389
+ */
390
+ ContextManagementCapability: {
391
+ /** @description Whether the clear_thinking_20251015 strategy is supported. */
392
+ clear_thinking_20251015: components["schemas"]["CapabilitySupport"] | null;
393
+ /** @description Whether the clear_tool_uses_20250919 strategy is supported. */
394
+ clear_tool_uses_20250919: components["schemas"]["CapabilitySupport"] | null;
395
+ /** @description Whether the compact_20260112 strategy is supported. */
396
+ compact_20260112: components["schemas"]["CapabilitySupport"] | null;
397
+ /**
398
+ * Supported
399
+ * @description Whether this capability is supported by the model.
400
+ */
401
+ supported: boolean;
402
+ };
403
+ /**
404
+ * CreateMessageParams
405
+ * @example {
406
+ * "max_tokens": 1024,
407
+ * "messages": [
408
+ * {
409
+ * "content": "Hello, world",
410
+ * "role": "user"
411
+ * }
412
+ * ],
413
+ * "model": "claude-opus-4-6"
414
+ * }
415
+ */
416
+ CreateMessageParams: {
417
+ model: components["schemas"]["Model"];
418
+ /**
419
+ * Messages
420
+ * @description Input messages.
421
+ *
422
+ * Our models are trained to operate on alternating `user` and `assistant` conversational turns. When creating a new `Message`, you specify the prior conversational turns with the `messages` parameter, and the model then generates the next `Message` in the conversation. Consecutive `user` or `assistant` turns in your request will be combined into a single turn.
423
+ *
424
+ * Each input message must be an object with a `role` and `content`. You can specify a single `user`-role message, or you can include multiple `user` and `assistant` messages.
425
+ *
426
+ * If the final message uses the `assistant` role, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.
427
+ *
428
+ * Example with a single `user` message:
429
+ *
430
+ * ```json
431
+ * [{"role": "user", "content": "Hello, Claude"}]
432
+ * ```
433
+ *
434
+ * Example with multiple conversational turns:
435
+ *
436
+ * ```json
437
+ * [
438
+ * {"role": "user", "content": "Hello there."},
439
+ * {"role": "assistant", "content": "Hi, I'm Claude. How can I help you?"},
440
+ * {"role": "user", "content": "Can you explain LLMs in plain English?"},
441
+ * ]
442
+ * ```
443
+ *
444
+ * Example with a partially-filled response from Claude:
445
+ *
446
+ * ```json
447
+ * [
448
+ * {"role": "user", "content": "What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun"},
449
+ * {"role": "assistant", "content": "The best answer is ("},
450
+ * ]
451
+ * ```
452
+ *
453
+ * Each input message `content` may be either a single `string` or an array of content blocks, where each block has a specific `type`. Using a `string` for `content` is shorthand for an array of one content block of type `"text"`. The following input messages are equivalent:
454
+ *
455
+ * ```json
456
+ * {"role": "user", "content": "Hello, Claude"}
457
+ * ```
458
+ *
459
+ * ```json
460
+ * {"role": "user", "content": [{"type": "text", "text": "Hello, Claude"}]}
461
+ * ```
462
+ *
463
+ * See [input examples](https://docs.claude.com/en/api/messages-examples).
464
+ *
465
+ * Note that if you want to include a [system prompt](https://docs.claude.com/en/docs/system-prompts), you can use the top-level `system` parameter — there is no `"system"` role for input messages in the Messages API.
466
+ *
467
+ * There is a limit of 100,000 messages in a single request.
468
+ */
469
+ messages: components["schemas"]["InputMessage"][];
470
+ /**
471
+ * Cache Control
472
+ * @description Top-level cache control automatically applies a cache_control marker to the last cacheable block in the request.
473
+ */
474
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
475
+ /**
476
+ * Container
477
+ * @description Container identifier for reuse across requests.
478
+ */
479
+ container?: string | null;
480
+ /**
481
+ * Inference Geo
482
+ * @description Specifies the geographic region for inference processing. If not specified, the workspace's `default_inference_geo` is used.
483
+ */
484
+ inference_geo?: string | null;
485
+ /**
486
+ * Max Tokens
487
+ * @description The maximum number of tokens to generate before stopping.
488
+ *
489
+ * Note that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.
490
+ *
491
+ * Different models have different maximum values for this parameter. See [models](https://docs.claude.com/en/docs/models-overview) for details.
492
+ * @example 1024
493
+ */
494
+ max_tokens: number;
495
+ /** @description An object describing metadata about the request. */
496
+ metadata?: components["schemas"]["Metadata"];
497
+ /** @description Configuration options for the model's output, such as the output format. */
498
+ output_config?: components["schemas"]["OutputConfig"];
499
+ /**
500
+ * Service Tier
501
+ * @description Determines whether to use priority capacity (if available) or standard capacity for this request.
502
+ *
503
+ * Anthropic offers different levels of service for your API requests. See [service-tiers](https://docs.claude.com/en/api/service-tiers) for details.
504
+ * @enum {string}
505
+ */
506
+ service_tier?: "auto" | "standard_only";
507
+ /**
508
+ * Stop Sequences
509
+ * @description Custom text sequences that will cause the model to stop generating.
510
+ *
511
+ * Our models will normally stop when they have naturally completed their turn, which will result in a response `stop_reason` of `"end_turn"`.
512
+ *
513
+ * If you want the model to stop generating when it encounters custom strings of text, you can use the `stop_sequences` parameter. If the model encounters one of the custom sequences, the response `stop_reason` value will be `"stop_sequence"` and the response `stop_sequence` value will contain the matched stop sequence.
514
+ */
515
+ stop_sequences?: string[];
516
+ /**
517
+ * Stream
518
+ * @description Whether to incrementally stream the response using server-sent events.
519
+ *
520
+ * See [streaming](https://docs.claude.com/en/api/messages-streaming) for details.
521
+ */
522
+ stream?: boolean;
523
+ /**
524
+ * System
525
+ * @description System prompt.
526
+ *
527
+ * A system prompt is a way of providing context and instructions to Claude, such as specifying a particular goal or role. See our [guide to system prompts](https://docs.claude.com/en/docs/system-prompts).
528
+ * @example [
529
+ * {
530
+ * "text": "Today's date is 2024-06-01.",
531
+ * "type": "text"
532
+ * }
533
+ * ]
534
+ * @example Today's date is 2023-01-01.
535
+ */
536
+ system?: string | components["schemas"]["RequestTextBlock"][];
537
+ /**
538
+ * Temperature
539
+ * @deprecated
540
+ * @description Amount of randomness injected into the response.
541
+ *
542
+ * Defaults to `1.0`. Ranges from `0.0` to `1.0`. Use `temperature` closer to `0.0` for analytical / multiple choice, and closer to `1.0` for creative and generative tasks.
543
+ *
544
+ * Note that even with `temperature` of `0.0`, the results will not be fully deterministic.
545
+ * @example 1
546
+ */
547
+ temperature?: number;
548
+ thinking?: components["schemas"]["ThinkingConfigParam"];
549
+ tool_choice?: components["schemas"]["ToolChoice"];
550
+ /**
551
+ * Tools
552
+ * @description Definitions of tools that the model may use.
553
+ *
554
+ * If you include `tools` in your API request, the model may return `tool_use` content blocks that represent the model's use of those tools. You can then run those tools using the tool input generated by the model and then optionally return results back to the model using `tool_result` content blocks.
555
+ *
556
+ * There are two types of tools: **client tools** and **server tools**. The behavior described below applies to client tools. For [server tools](https://docs.claude.com/en/docs/agents-and-tools/tool-use/overview\#server-tools), see their individual documentation as each has its own behavior (e.g., the [web search tool](https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-search-tool)).
557
+ *
558
+ * Each tool definition includes:
559
+ *
560
+ * * `name`: Name of the tool.
561
+ * * `description`: Optional, but strongly-recommended description of the tool.
562
+ * * `input_schema`: [JSON schema](https://json-schema.org/draft/2020-12) for the tool `input` shape that the model will produce in `tool_use` output content blocks.
563
+ *
564
+ * For example, if you defined `tools` as:
565
+ *
566
+ * ```json
567
+ * [
568
+ * {
569
+ * "name": "get_stock_price",
570
+ * "description": "Get the current stock price for a given ticker symbol.",
571
+ * "input_schema": {
572
+ * "type": "object",
573
+ * "properties": {
574
+ * "ticker": {
575
+ * "type": "string",
576
+ * "description": "The stock ticker symbol, e.g. AAPL for Apple Inc."
577
+ * }
578
+ * },
579
+ * "required": ["ticker"]
580
+ * }
581
+ * }
582
+ * ]
583
+ * ```
584
+ *
585
+ * And then asked the model "What's the S&P 500 at today?", the model might produce `tool_use` content blocks in the response like this:
586
+ *
587
+ * ```json
588
+ * [
589
+ * {
590
+ * "type": "tool_use",
591
+ * "id": "toolu_01D7FLrfh4GYq7yT1ULFeyMV",
592
+ * "name": "get_stock_price",
593
+ * "input": { "ticker": "^GSPC" }
594
+ * }
595
+ * ]
596
+ * ```
597
+ *
598
+ * You might then run your `get_stock_price` tool with `{"ticker": "^GSPC"}` as an input, and return the following back to the model in a subsequent `user` message:
599
+ *
600
+ * ```json
601
+ * [
602
+ * {
603
+ * "type": "tool_result",
604
+ * "tool_use_id": "toolu_01D7FLrfh4GYq7yT1ULFeyMV",
605
+ * "content": "259.75 USD"
606
+ * }
607
+ * ]
608
+ * ```
609
+ *
610
+ * Tools can be used for workflows that include running client-side tools and functions, or more generally whenever you want the model to produce a particular JSON structure of output.
611
+ *
612
+ * See our [guide](https://docs.claude.com/en/docs/tool-use) for more details.
613
+ * @example {
614
+ * "description": "Get the current weather in a given location",
615
+ * "input_schema": {
616
+ * "properties": {
617
+ * "location": {
618
+ * "description": "The city and state, e.g. San Francisco, CA",
619
+ * "type": "string"
620
+ * },
621
+ * "unit": {
622
+ * "description": "Unit for the output - one of (celsius, fahrenheit)",
623
+ * "type": "string"
624
+ * }
625
+ * },
626
+ * "required": [
627
+ * "location"
628
+ * ],
629
+ * "type": "object"
630
+ * },
631
+ * "name": "get_weather"
632
+ * }
633
+ */
634
+ tools?: (components["schemas"]["Tool"] | components["schemas"]["BashTool_20250124"] | components["schemas"]["CodeExecutionTool_20250522"] | components["schemas"]["CodeExecutionTool_20250825"] | components["schemas"]["CodeExecutionTool_20260120"] | components["schemas"]["MemoryTool_20250818"] | components["schemas"]["TextEditor_20250124"] | components["schemas"]["TextEditor_20250429"] | components["schemas"]["TextEditor_20250728"] | components["schemas"]["WebSearchTool_20250305"] | components["schemas"]["WebFetchTool_20250910"] | components["schemas"]["WebSearchTool_20260209"] | components["schemas"]["WebFetchTool_20260209"] | components["schemas"]["WebFetchTool_20260309"] | components["schemas"]["ToolSearchToolBM25_20251119"] | components["schemas"]["ToolSearchToolRegex_20251119"])[];
635
+ /**
636
+ * Top K
637
+ * @deprecated
638
+ * @description Only sample from the top K options for each subsequent token.
639
+ *
640
+ * Used to remove "long tail" low probability responses. [Learn more technical details here](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277).
641
+ *
642
+ * Recommended for advanced use cases only. You usually only need to use `temperature`.
643
+ * @example 5
644
+ */
645
+ top_k?: number;
646
+ /**
647
+ * Top P
648
+ * @deprecated
649
+ * @description Use nucleus sampling.
650
+ *
651
+ * In nucleus sampling, we compute the cumulative distribution over all the options for each subsequent token in decreasing probability order and cut it off once it reaches a particular probability specified by `top_p`. You should either alter `temperature` or `top_p`, but not both.
652
+ *
653
+ * Recommended for advanced use cases only. You usually only need to use `temperature`.
654
+ * @example 0.7
655
+ */
656
+ top_p?: number;
657
+ };
658
+ /**
659
+ * DirectCaller
660
+ * @description Tool invocation directly from the model.
661
+ */
662
+ DirectCaller: {
663
+ /**
664
+ * @description discriminator enum property added by openapi-typescript
665
+ * @enum {string}
666
+ */
667
+ type: "direct";
668
+ };
669
+ /**
670
+ * EffortCapability
671
+ * @description Effort (reasoning_effort) capability details.
672
+ */
673
+ EffortCapability: {
674
+ /** @description Whether the model supports high effort level. */
675
+ high: components["schemas"]["CapabilitySupport"];
676
+ /** @description Whether the model supports low effort level. */
677
+ low: components["schemas"]["CapabilitySupport"];
678
+ /** @description Whether the model supports max effort level. */
679
+ max: components["schemas"]["CapabilitySupport"];
680
+ /** @description Whether the model supports medium effort level. */
681
+ medium: components["schemas"]["CapabilitySupport"];
682
+ /**
683
+ * Supported
684
+ * @description Whether this capability is supported by the model.
685
+ */
686
+ supported: boolean;
687
+ };
688
+ /**
689
+ * EffortLevel
690
+ * @description All possible effort levels.
691
+ * @enum {string}
692
+ */
693
+ EffortLevel: "low" | "medium" | "high" | "max";
694
+ /** ErrorResponse */
695
+ ErrorResponse: {
696
+ /** Error */
697
+ error: components["schemas"]["InvalidRequestError"] | components["schemas"]["AuthenticationError"] | components["schemas"]["BillingError"] | components["schemas"]["PermissionError"] | components["schemas"]["NotFoundError"] | components["schemas"]["RateLimitError"] | components["schemas"]["GatewayTimeoutError"] | components["schemas"]["APIError"] | components["schemas"]["OverloadedError"];
698
+ /**
699
+ * Request Id
700
+ * @default null
701
+ */
702
+ request_id: string | null;
703
+ /**
704
+ * Type
705
+ * @default error
706
+ * @constant
707
+ */
708
+ type: "error";
709
+ };
710
+ /** GatewayTimeoutError */
711
+ GatewayTimeoutError: {
712
+ /**
713
+ * Message
714
+ * @default Request timeout
715
+ */
716
+ message: string;
717
+ /**
718
+ * @description discriminator enum property added by openapi-typescript
719
+ * @enum {string}
720
+ */
721
+ type: "timeout_error";
722
+ };
723
+ /** InputMessage */
724
+ InputMessage: {
725
+ /** Content */
726
+ content: string | components["schemas"]["InputContentBlock"][];
727
+ /**
728
+ * Role
729
+ * @enum {string}
730
+ */
731
+ role: "user" | "assistant";
732
+ };
733
+ /** InputSchema */
734
+ InputSchema: {
735
+ /** Properties */
736
+ properties?: {
737
+ [key: string]: unknown;
738
+ } | null;
739
+ /** Required */
740
+ required?: string[] | null;
741
+ /**
742
+ * Type
743
+ * @constant
744
+ */
745
+ type: "object";
746
+ } & {
747
+ [key: string]: unknown;
748
+ };
749
+ /** InvalidRequestError */
750
+ InvalidRequestError: {
751
+ /**
752
+ * Message
753
+ * @default Invalid request
754
+ */
755
+ message: string;
756
+ /**
757
+ * @description discriminator enum property added by openapi-typescript
758
+ * @enum {string}
759
+ */
760
+ type: "invalid_request_error";
761
+ };
762
+ /** JsonOutputFormat */
763
+ JsonOutputFormat: {
764
+ /**
765
+ * Schema
766
+ * @description The JSON schema of the format
767
+ */
768
+ schema: {
769
+ [key: string]: unknown;
770
+ };
771
+ /**
772
+ * Type
773
+ * @constant
774
+ */
775
+ type: "json_schema";
776
+ };
777
+ JsonValue: unknown;
778
+ /** ListResponse[ModelInfo] */
779
+ ListResponse_ModelInfo_: {
780
+ /** Data */
781
+ data: components["schemas"]["ModelInfo"][];
782
+ /**
783
+ * First Id
784
+ * @description First ID in the `data` list. Can be used as the `before_id` for the previous page.
785
+ */
786
+ first_id: string | null;
787
+ /**
788
+ * Has More
789
+ * @description Indicates if there are more results in the requested page direction.
790
+ */
791
+ has_more: boolean;
792
+ /**
793
+ * Last Id
794
+ * @description Last ID in the `data` list. Can be used as the `after_id` for the next page.
795
+ */
796
+ last_id: string | null;
797
+ };
798
+ /** MemoryTool_20250818 */
799
+ MemoryTool_20250818: {
800
+ /** Allowed Callers */
801
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
802
+ /**
803
+ * Cache Control
804
+ * @description Create a cache control breakpoint at this content block.
805
+ */
806
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
807
+ /**
808
+ * Defer Loading
809
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
810
+ */
811
+ defer_loading?: boolean;
812
+ /** Input Examples */
813
+ input_examples?: {
814
+ [key: string]: components["schemas"]["JsonValue"];
815
+ }[];
816
+ /**
817
+ * Name
818
+ * @description Name of the tool.
819
+ *
820
+ * This is how the tool will be called by the model and in `tool_use` blocks.
821
+ * @constant
822
+ */
823
+ name: "memory";
824
+ /**
825
+ * Strict
826
+ * @description When true, guarantees schema validation on tool names and inputs
827
+ */
828
+ strict?: boolean;
829
+ /**
830
+ * Type
831
+ * @constant
832
+ */
833
+ type: "memory_20250818";
834
+ };
835
+ /**
836
+ * Message
837
+ * @example {
838
+ * "content": [
839
+ * {
840
+ * "citations": null,
841
+ * "text": "Hi! My name is Claude.",
842
+ * "type": "text"
843
+ * }
844
+ * ],
845
+ * "id": "msg_013Zva2CMHLNnXjNJJKqJ2EF",
846
+ * "model": "claude-opus-4-6",
847
+ * "role": "assistant",
848
+ * "stop_details": null,
849
+ * "stop_reason": "end_turn",
850
+ * "stop_sequence": null,
851
+ * "type": "message",
852
+ * "usage": {
853
+ * "input_tokens": 2095,
854
+ * "output_tokens": 503
855
+ * }
856
+ * }
857
+ */
858
+ Message: {
859
+ /**
860
+ * Id
861
+ * @description Unique object identifier.
862
+ *
863
+ * The format and length of IDs may change over time.
864
+ * @example msg_013Zva2CMHLNnXjNJJKqJ2EF
865
+ */
866
+ id: string;
867
+ /**
868
+ * Type
869
+ * @description Object type.
870
+ *
871
+ * For Messages, this is always `"message"`.
872
+ * @default message
873
+ * @constant
874
+ */
875
+ type: "message";
876
+ /**
877
+ * Role
878
+ * @description Conversational role of the generated message.
879
+ *
880
+ * This will always be `"assistant"`.
881
+ * @default assistant
882
+ * @constant
883
+ */
884
+ role: "assistant";
885
+ /**
886
+ * Content
887
+ * @description Content generated by the model.
888
+ *
889
+ * This is an array of content blocks, each of which has a `type` that determines its shape.
890
+ *
891
+ * Example:
892
+ *
893
+ * ```json
894
+ * [{"type": "text", "text": "Hi, I'm Claude."}]
895
+ * ```
896
+ *
897
+ * If the request input `messages` ended with an `assistant` turn, then the response `content` will continue directly from that last turn. You can use this to constrain the model's output.
898
+ *
899
+ * For example, if the input `messages` were:
900
+ * ```json
901
+ * [
902
+ * {"role": "user", "content": "What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun"},
903
+ * {"role": "assistant", "content": "The best answer is ("}
904
+ * ]
905
+ * ```
906
+ *
907
+ * Then the response `content` might be:
908
+ *
909
+ * ```json
910
+ * [{"type": "text", "text": "B)"}]
911
+ * ```
912
+ * @example [
913
+ * {
914
+ * "citations": null,
915
+ * "text": "Hi! My name is Claude.",
916
+ * "type": "text"
917
+ * }
918
+ * ]
919
+ */
920
+ content: components["schemas"]["ContentBlock"][];
921
+ model: components["schemas"]["Model"];
922
+ /**
923
+ * Stop Reason
924
+ * @description The reason that we stopped.
925
+ *
926
+ * This may be one the following values:
927
+ * * `"end_turn"`: the model reached a natural stopping point
928
+ * * `"max_tokens"`: we exceeded the requested `max_tokens` or the model's maximum
929
+ * * `"stop_sequence"`: one of your provided custom `stop_sequences` was generated
930
+ * * `"tool_use"`: the model invoked one or more tools
931
+ * * `"pause_turn"`: we paused a long-running turn. You may provide the response back as-is in a subsequent request to let the model continue.
932
+ * * `"refusal"`: when streaming classifiers intervene to handle potential policy violations
933
+ *
934
+ * In non-streaming mode this value is always non-null. In streaming mode, it is null in the `message_start` event and non-null otherwise.
935
+ */
936
+ stop_reason: components["schemas"]["StopReason"] | null;
937
+ /**
938
+ * Stop Sequence
939
+ * @description Which custom stop sequence was generated, if any.
940
+ *
941
+ * This value will be a non-null string if one of your custom stop sequences was generated.
942
+ * @default null
943
+ */
944
+ stop_sequence: string | null;
945
+ /**
946
+ * @description Structured information about why model output stopped.
947
+ *
948
+ * This is `null` when the `stop_reason` has no additional detail to report.
949
+ * @default null
950
+ */
951
+ stop_details: components["schemas"]["RefusalStopDetails"] | null;
952
+ /**
953
+ * @description Billing and rate-limit usage.
954
+ *
955
+ * Anthropic's API bills and rate-limits by token counts, as tokens represent the underlying cost to our systems.
956
+ *
957
+ * Under the hood, the API transforms requests into a format suitable for the model. The model's output then goes through a parsing stage before becoming an API response. As a result, the token counts in `usage` will not match one-to-one with the exact visible content of an API request or response.
958
+ *
959
+ * For example, `output_tokens` will be non-zero, even for an empty string response from Claude.
960
+ *
961
+ * Total input tokens in a request is the summation of `input_tokens`, `cache_creation_input_tokens`, and `cache_read_input_tokens`.
962
+ * @example {
963
+ * "input_tokens": 2095,
964
+ * "output_tokens": 503
965
+ * }
966
+ */
967
+ usage: components["schemas"]["Usage"];
968
+ /**
969
+ * @description Information about the container used in this request.
970
+ *
971
+ * This will be non-null if a container tool (e.g. code execution) was used.
972
+ * @default null
973
+ */
974
+ container: components["schemas"]["Container"] | null;
975
+ };
976
+ /** Metadata */
977
+ Metadata: {
978
+ /**
979
+ * User Id
980
+ * @description An external identifier for the user who is associated with the request.
981
+ *
982
+ * This should be a uuid, hash value, or other opaque identifier. Anthropic may use this id to help detect abuse. Do not include any identifying information such as name, email address, or phone number.
983
+ * @example 13803d75-b4b5-4c3e-b2a2-6f21399b021b
984
+ */
985
+ user_id?: string | null;
986
+ };
987
+ /**
988
+ * ModelCapabilities
989
+ * @description Model capability information.
990
+ */
991
+ ModelCapabilities: {
992
+ /** @description Whether the model supports the Batch API. */
993
+ batch: components["schemas"]["CapabilitySupport"];
994
+ /** @description Whether the model supports citation generation. */
995
+ citations: components["schemas"]["CapabilitySupport"];
996
+ /** @description Whether the model supports code execution tools. */
997
+ code_execution: components["schemas"]["CapabilitySupport"];
998
+ /** @description Context management support and available strategies. */
999
+ context_management: components["schemas"]["ContextManagementCapability"];
1000
+ /** @description Effort (reasoning_effort) support and available levels. */
1001
+ effort: components["schemas"]["EffortCapability"];
1002
+ /** @description Whether the model accepts image content blocks. */
1003
+ image_input: components["schemas"]["CapabilitySupport"];
1004
+ /** @description Whether the model accepts PDF content blocks. */
1005
+ pdf_input: components["schemas"]["CapabilitySupport"];
1006
+ /** @description Whether the model supports structured output / JSON mode / strict tool schemas. */
1007
+ structured_outputs: components["schemas"]["CapabilitySupport"];
1008
+ /** @description Thinking capability and supported type configurations. */
1009
+ thinking: components["schemas"]["ThinkingCapability"];
1010
+ };
1011
+ /** ModelInfo */
1012
+ ModelInfo: {
1013
+ /** @description Object mapping capability names to their support details. Keys are always present for all known capabilities. */
1014
+ capabilities: components["schemas"]["ModelCapabilities"] | null;
1015
+ /**
1016
+ * Created At
1017
+ * Format: date-time
1018
+ * @description RFC 3339 datetime string representing the time at which the model was released. May be set to an epoch value if the release date is unknown.
1019
+ * @example 2026-02-04T00:00:00Z
1020
+ */
1021
+ created_at: string;
1022
+ /**
1023
+ * Display Name
1024
+ * @description A human-readable name for the model.
1025
+ * @example Claude Opus 4.6
1026
+ */
1027
+ display_name: string;
1028
+ /**
1029
+ * Id
1030
+ * @description Unique model identifier.
1031
+ * @example claude-opus-4-6
1032
+ */
1033
+ id: string;
1034
+ /**
1035
+ * Max Input Tokens
1036
+ * @description Maximum input context window size in tokens for this model.
1037
+ */
1038
+ max_input_tokens: number | null;
1039
+ /**
1040
+ * Max Tokens
1041
+ * @description Maximum value for the `max_tokens` parameter when using this model.
1042
+ */
1043
+ max_tokens: number | null;
1044
+ /**
1045
+ * Type
1046
+ * @description Object type.
1047
+ *
1048
+ * For Models, this is always `"model"`.
1049
+ * @default model
1050
+ * @constant
1051
+ */
1052
+ type: "model";
1053
+ };
1054
+ /** NotFoundError */
1055
+ NotFoundError: {
1056
+ /**
1057
+ * Message
1058
+ * @default Not found
1059
+ */
1060
+ message: string;
1061
+ /**
1062
+ * @description discriminator enum property added by openapi-typescript
1063
+ * @enum {string}
1064
+ */
1065
+ type: "not_found_error";
1066
+ };
1067
+ /** OutputConfig */
1068
+ OutputConfig: {
1069
+ /** @description How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer.
1070
+ *
1071
+ * Valid values are `low`, `medium`, `high`, or `max`. */
1072
+ effort?: components["schemas"]["EffortLevel"] | null;
1073
+ /** @description A schema to specify Claude's output format in responses. See [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) */
1074
+ format?: components["schemas"]["JsonOutputFormat"] | null;
1075
+ };
1076
+ /** OverloadedError */
1077
+ OverloadedError: {
1078
+ /**
1079
+ * Message
1080
+ * @default Overloaded
1081
+ */
1082
+ message: string;
1083
+ /**
1084
+ * @description discriminator enum property added by openapi-typescript
1085
+ * @enum {string}
1086
+ */
1087
+ type: "overloaded_error";
1088
+ };
1089
+ /** PermissionError */
1090
+ PermissionError: {
1091
+ /**
1092
+ * Message
1093
+ * @default Permission denied
1094
+ */
1095
+ message: string;
1096
+ /**
1097
+ * @description discriminator enum property added by openapi-typescript
1098
+ * @enum {string}
1099
+ */
1100
+ type: "permission_error";
1101
+ };
1102
+ /** PlainTextSource */
1103
+ PlainTextSource: {
1104
+ /** Data */
1105
+ data: string;
1106
+ /**
1107
+ * Media Type
1108
+ * @constant
1109
+ */
1110
+ media_type: "text/plain";
1111
+ /**
1112
+ * @description discriminator enum property added by openapi-typescript
1113
+ * @enum {string}
1114
+ */
1115
+ type: "text";
1116
+ };
1117
+ /** RateLimitError */
1118
+ RateLimitError: {
1119
+ /**
1120
+ * Message
1121
+ * @default Rate limited
1122
+ */
1123
+ message: string;
1124
+ /**
1125
+ * @description discriminator enum property added by openapi-typescript
1126
+ * @enum {string}
1127
+ */
1128
+ type: "rate_limit_error";
1129
+ };
1130
+ /**
1131
+ * RefusalStopDetails
1132
+ * @description Structured information about a refusal.
1133
+ */
1134
+ RefusalStopDetails: {
1135
+ /**
1136
+ * Category
1137
+ * @description The policy category that triggered the refusal.
1138
+ *
1139
+ * `null` when the refusal doesn't map to a named category.
1140
+ * @default null
1141
+ */
1142
+ category: ("cyber" | "bio") | null;
1143
+ /**
1144
+ * Explanation
1145
+ * @description Human-readable explanation of the refusal.
1146
+ *
1147
+ * This text is not guaranteed to be stable. `null` when no explanation is available for the category.
1148
+ * @default null
1149
+ */
1150
+ explanation: string | null;
1151
+ /**
1152
+ * Type
1153
+ * @default refusal
1154
+ * @constant
1155
+ */
1156
+ type: "refusal";
1157
+ };
1158
+ /** RequestBashCodeExecutionOutputBlock */
1159
+ RequestBashCodeExecutionOutputBlock: {
1160
+ /** File Id */
1161
+ file_id: string;
1162
+ /**
1163
+ * Type
1164
+ * @constant
1165
+ */
1166
+ type: "bash_code_execution_output";
1167
+ };
1168
+ /** RequestBashCodeExecutionResultBlock */
1169
+ RequestBashCodeExecutionResultBlock: {
1170
+ /** Content */
1171
+ content: components["schemas"]["RequestBashCodeExecutionOutputBlock"][];
1172
+ /** Return Code */
1173
+ return_code: number;
1174
+ /** Stderr */
1175
+ stderr: string;
1176
+ /** Stdout */
1177
+ stdout: string;
1178
+ /**
1179
+ * Type
1180
+ * @constant
1181
+ */
1182
+ type: "bash_code_execution_result";
1183
+ };
1184
+ /** RequestBashCodeExecutionToolResultBlock */
1185
+ RequestBashCodeExecutionToolResultBlock: {
1186
+ /**
1187
+ * Cache Control
1188
+ * @description Create a cache control breakpoint at this content block.
1189
+ */
1190
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1191
+ /** Content */
1192
+ content: components["schemas"]["RequestBashCodeExecutionToolResultError"] | components["schemas"]["RequestBashCodeExecutionResultBlock"];
1193
+ /** Tool Use Id */
1194
+ tool_use_id: string;
1195
+ /**
1196
+ * @description discriminator enum property added by openapi-typescript
1197
+ * @enum {string}
1198
+ */
1199
+ type: "bash_code_execution_tool_result";
1200
+ };
1201
+ /** RequestBashCodeExecutionToolResultError */
1202
+ RequestBashCodeExecutionToolResultError: {
1203
+ error_code: components["schemas"]["BashCodeExecutionToolResultErrorCode"];
1204
+ /**
1205
+ * Type
1206
+ * @constant
1207
+ */
1208
+ type: "bash_code_execution_tool_result_error";
1209
+ };
1210
+ /** RequestCharLocationCitation */
1211
+ RequestCharLocationCitation: {
1212
+ /** Cited Text */
1213
+ cited_text: string;
1214
+ /** Document Index */
1215
+ document_index: number;
1216
+ /** Document Title */
1217
+ document_title: string | null;
1218
+ /** End Char Index */
1219
+ end_char_index: number;
1220
+ /** Start Char Index */
1221
+ start_char_index: number;
1222
+ /**
1223
+ * @description discriminator enum property added by openapi-typescript
1224
+ * @enum {string}
1225
+ */
1226
+ type: "char_location";
1227
+ };
1228
+ /** RequestCitationsConfig */
1229
+ RequestCitationsConfig: {
1230
+ /** Enabled */
1231
+ enabled?: boolean;
1232
+ };
1233
+ /** RequestCodeExecutionOutputBlock */
1234
+ RequestCodeExecutionOutputBlock: {
1235
+ /** File Id */
1236
+ file_id: string;
1237
+ /**
1238
+ * Type
1239
+ * @constant
1240
+ */
1241
+ type: "code_execution_output";
1242
+ };
1243
+ /** RequestCodeExecutionResultBlock */
1244
+ RequestCodeExecutionResultBlock: {
1245
+ /** Content */
1246
+ content: components["schemas"]["RequestCodeExecutionOutputBlock"][];
1247
+ /** Return Code */
1248
+ return_code: number;
1249
+ /** Stderr */
1250
+ stderr: string;
1251
+ /** Stdout */
1252
+ stdout: string;
1253
+ /**
1254
+ * Type
1255
+ * @constant
1256
+ */
1257
+ type: "code_execution_result";
1258
+ };
1259
+ /** RequestCodeExecutionToolResultBlock */
1260
+ RequestCodeExecutionToolResultBlock: {
1261
+ /**
1262
+ * Cache Control
1263
+ * @description Create a cache control breakpoint at this content block.
1264
+ */
1265
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1266
+ /** Content */
1267
+ content: components["schemas"]["RequestCodeExecutionToolResultError"] | components["schemas"]["RequestCodeExecutionResultBlock"] | components["schemas"]["RequestEncryptedCodeExecutionResultBlock"];
1268
+ /** Tool Use Id */
1269
+ tool_use_id: string;
1270
+ /**
1271
+ * @description discriminator enum property added by openapi-typescript
1272
+ * @enum {string}
1273
+ */
1274
+ type: "code_execution_tool_result";
1275
+ };
1276
+ /** RequestCodeExecutionToolResultError */
1277
+ RequestCodeExecutionToolResultError: {
1278
+ error_code: components["schemas"]["CodeExecutionToolResultErrorCode"];
1279
+ /**
1280
+ * Type
1281
+ * @constant
1282
+ */
1283
+ type: "code_execution_tool_result_error";
1284
+ };
1285
+ /**
1286
+ * RequestContainerUploadBlock
1287
+ * @description A content block that represents a file to be uploaded to the container
1288
+ * Files uploaded via this block will be available in the container's input directory.
1289
+ */
1290
+ RequestContainerUploadBlock: {
1291
+ /**
1292
+ * Cache Control
1293
+ * @description Create a cache control breakpoint at this content block.
1294
+ */
1295
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1296
+ /** File Id */
1297
+ file_id: string;
1298
+ /**
1299
+ * @description discriminator enum property added by openapi-typescript
1300
+ * @enum {string}
1301
+ */
1302
+ type: "container_upload";
1303
+ };
1304
+ /** RequestContentBlockLocationCitation */
1305
+ RequestContentBlockLocationCitation: {
1306
+ /** Cited Text */
1307
+ cited_text: string;
1308
+ /** Document Index */
1309
+ document_index: number;
1310
+ /** Document Title */
1311
+ document_title: string | null;
1312
+ /** End Block Index */
1313
+ end_block_index: number;
1314
+ /** Start Block Index */
1315
+ start_block_index: number;
1316
+ /**
1317
+ * @description discriminator enum property added by openapi-typescript
1318
+ * @enum {string}
1319
+ */
1320
+ type: "content_block_location";
1321
+ };
1322
+ /** RequestDocumentBlock */
1323
+ RequestDocumentBlock: {
1324
+ /**
1325
+ * Cache Control
1326
+ * @description Create a cache control breakpoint at this content block.
1327
+ */
1328
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1329
+ citations?: components["schemas"]["RequestCitationsConfig"] | null;
1330
+ /** Context */
1331
+ context?: string | null;
1332
+ /** Source */
1333
+ source: components["schemas"]["Base64PDFSource"] | components["schemas"]["PlainTextSource"] | components["schemas"]["ContentBlockSource"] | components["schemas"]["URLPDFSource"];
1334
+ /** Title */
1335
+ title?: string | null;
1336
+ /**
1337
+ * @description discriminator enum property added by openapi-typescript
1338
+ * @enum {string}
1339
+ */
1340
+ type: "document";
1341
+ };
1342
+ /**
1343
+ * RequestEncryptedCodeExecutionResultBlock
1344
+ * @description Code execution result with encrypted stdout for PFC + web_search results.
1345
+ */
1346
+ RequestEncryptedCodeExecutionResultBlock: {
1347
+ /** Content */
1348
+ content: components["schemas"]["RequestCodeExecutionOutputBlock"][];
1349
+ /** Encrypted Stdout */
1350
+ encrypted_stdout: string;
1351
+ /** Return Code */
1352
+ return_code: number;
1353
+ /** Stderr */
1354
+ stderr: string;
1355
+ /**
1356
+ * Type
1357
+ * @constant
1358
+ */
1359
+ type: "encrypted_code_execution_result";
1360
+ };
1361
+ /** RequestImageBlock */
1362
+ RequestImageBlock: {
1363
+ /**
1364
+ * Cache Control
1365
+ * @description Create a cache control breakpoint at this content block.
1366
+ */
1367
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1368
+ /** Source */
1369
+ source: components["schemas"]["Base64ImageSource"] | components["schemas"]["URLImageSource"];
1370
+ /**
1371
+ * @description discriminator enum property added by openapi-typescript
1372
+ * @enum {string}
1373
+ */
1374
+ type: "image";
1375
+ };
1376
+ /** RequestPageLocationCitation */
1377
+ RequestPageLocationCitation: {
1378
+ /** Cited Text */
1379
+ cited_text: string;
1380
+ /** Document Index */
1381
+ document_index: number;
1382
+ /** Document Title */
1383
+ document_title: string | null;
1384
+ /** End Page Number */
1385
+ end_page_number: number;
1386
+ /** Start Page Number */
1387
+ start_page_number: number;
1388
+ /**
1389
+ * @description discriminator enum property added by openapi-typescript
1390
+ * @enum {string}
1391
+ */
1392
+ type: "page_location";
1393
+ };
1394
+ /** RequestRedactedThinkingBlock */
1395
+ RequestRedactedThinkingBlock: {
1396
+ /** Data */
1397
+ data: string;
1398
+ /**
1399
+ * @description discriminator enum property added by openapi-typescript
1400
+ * @enum {string}
1401
+ */
1402
+ type: "redacted_thinking";
1403
+ };
1404
+ /** RequestSearchResultBlock */
1405
+ RequestSearchResultBlock: {
1406
+ /**
1407
+ * Cache Control
1408
+ * @description Create a cache control breakpoint at this content block.
1409
+ */
1410
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1411
+ citations?: components["schemas"]["RequestCitationsConfig"];
1412
+ /** Content */
1413
+ content: components["schemas"]["RequestTextBlock"][];
1414
+ /** Source */
1415
+ source: string;
1416
+ /** Title */
1417
+ title: string;
1418
+ /**
1419
+ * @description discriminator enum property added by openapi-typescript
1420
+ * @enum {string}
1421
+ */
1422
+ type: "search_result";
1423
+ };
1424
+ /** RequestSearchResultLocationCitation */
1425
+ RequestSearchResultLocationCitation: {
1426
+ /** Cited Text */
1427
+ cited_text: string;
1428
+ /** End Block Index */
1429
+ end_block_index: number;
1430
+ /** Search Result Index */
1431
+ search_result_index: number;
1432
+ /** Source */
1433
+ source: string;
1434
+ /** Start Block Index */
1435
+ start_block_index: number;
1436
+ /** Title */
1437
+ title: string | null;
1438
+ /**
1439
+ * @description discriminator enum property added by openapi-typescript
1440
+ * @enum {string}
1441
+ */
1442
+ type: "search_result_location";
1443
+ };
1444
+ /** RequestServerToolUseBlock */
1445
+ RequestServerToolUseBlock: {
1446
+ /**
1447
+ * Cache Control
1448
+ * @description Create a cache control breakpoint at this content block.
1449
+ */
1450
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1451
+ /** Caller */
1452
+ caller?: components["schemas"]["DirectCaller"] | components["schemas"]["ServerToolCaller"] | components["schemas"]["ServerToolCaller_20260120"];
1453
+ /** Id */
1454
+ id: string;
1455
+ /** Input */
1456
+ input: {
1457
+ [key: string]: unknown;
1458
+ };
1459
+ /**
1460
+ * Name
1461
+ * @enum {string}
1462
+ */
1463
+ name: "web_search" | "web_fetch" | "code_execution" | "bash_code_execution" | "text_editor_code_execution" | "tool_search_tool_regex" | "tool_search_tool_bm25";
1464
+ /**
1465
+ * @description discriminator enum property added by openapi-typescript
1466
+ * @enum {string}
1467
+ */
1468
+ type: "server_tool_use";
1469
+ };
1470
+ /** RequestTextBlock */
1471
+ RequestTextBlock: {
1472
+ /**
1473
+ * Cache Control
1474
+ * @description Create a cache control breakpoint at this content block.
1475
+ */
1476
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1477
+ /** Citations */
1478
+ citations?: (components["schemas"]["RequestCharLocationCitation"] | components["schemas"]["RequestPageLocationCitation"] | components["schemas"]["RequestContentBlockLocationCitation"] | components["schemas"]["RequestWebSearchResultLocationCitation"] | components["schemas"]["RequestSearchResultLocationCitation"])[] | null;
1479
+ /** Text */
1480
+ text: string;
1481
+ /**
1482
+ * @description discriminator enum property added by openapi-typescript
1483
+ * @enum {string}
1484
+ */
1485
+ type: "text";
1486
+ };
1487
+ /** RequestTextEditorCodeExecutionCreateResultBlock */
1488
+ RequestTextEditorCodeExecutionCreateResultBlock: {
1489
+ /** Is File Update */
1490
+ is_file_update: boolean;
1491
+ /**
1492
+ * Type
1493
+ * @constant
1494
+ */
1495
+ type: "text_editor_code_execution_create_result";
1496
+ };
1497
+ /** RequestTextEditorCodeExecutionStrReplaceResultBlock */
1498
+ RequestTextEditorCodeExecutionStrReplaceResultBlock: {
1499
+ /** Lines */
1500
+ lines?: string[] | null;
1501
+ /** New Lines */
1502
+ new_lines?: number | null;
1503
+ /** New Start */
1504
+ new_start?: number | null;
1505
+ /** Old Lines */
1506
+ old_lines?: number | null;
1507
+ /** Old Start */
1508
+ old_start?: number | null;
1509
+ /**
1510
+ * Type
1511
+ * @constant
1512
+ */
1513
+ type: "text_editor_code_execution_str_replace_result";
1514
+ };
1515
+ /** RequestTextEditorCodeExecutionToolResultBlock */
1516
+ RequestTextEditorCodeExecutionToolResultBlock: {
1517
+ /**
1518
+ * Cache Control
1519
+ * @description Create a cache control breakpoint at this content block.
1520
+ */
1521
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1522
+ /** Content */
1523
+ content: components["schemas"]["RequestTextEditorCodeExecutionToolResultError"] | components["schemas"]["RequestTextEditorCodeExecutionViewResultBlock"] | components["schemas"]["RequestTextEditorCodeExecutionCreateResultBlock"] | components["schemas"]["RequestTextEditorCodeExecutionStrReplaceResultBlock"];
1524
+ /** Tool Use Id */
1525
+ tool_use_id: string;
1526
+ /**
1527
+ * @description discriminator enum property added by openapi-typescript
1528
+ * @enum {string}
1529
+ */
1530
+ type: "text_editor_code_execution_tool_result";
1531
+ };
1532
+ /** RequestTextEditorCodeExecutionToolResultError */
1533
+ RequestTextEditorCodeExecutionToolResultError: {
1534
+ error_code: components["schemas"]["TextEditorCodeExecutionToolResultErrorCode"];
1535
+ /** Error Message */
1536
+ error_message?: string | null;
1537
+ /**
1538
+ * Type
1539
+ * @constant
1540
+ */
1541
+ type: "text_editor_code_execution_tool_result_error";
1542
+ };
1543
+ /** RequestTextEditorCodeExecutionViewResultBlock */
1544
+ RequestTextEditorCodeExecutionViewResultBlock: {
1545
+ /** Content */
1546
+ content: string;
1547
+ /**
1548
+ * File Type
1549
+ * @enum {string}
1550
+ */
1551
+ file_type: "text" | "image" | "pdf";
1552
+ /** Num Lines */
1553
+ num_lines?: number | null;
1554
+ /** Start Line */
1555
+ start_line?: number | null;
1556
+ /** Total Lines */
1557
+ total_lines?: number | null;
1558
+ /**
1559
+ * Type
1560
+ * @constant
1561
+ */
1562
+ type: "text_editor_code_execution_view_result";
1563
+ };
1564
+ /** RequestThinkingBlock */
1565
+ RequestThinkingBlock: {
1566
+ /** Signature */
1567
+ signature: string;
1568
+ /** Thinking */
1569
+ thinking: string;
1570
+ /**
1571
+ * @description discriminator enum property added by openapi-typescript
1572
+ * @enum {string}
1573
+ */
1574
+ type: "thinking";
1575
+ };
1576
+ /**
1577
+ * RequestToolReferenceBlock
1578
+ * @description Tool reference block that can be included in tool_result content.
1579
+ */
1580
+ RequestToolReferenceBlock: {
1581
+ /**
1582
+ * Cache Control
1583
+ * @description Create a cache control breakpoint at this content block.
1584
+ */
1585
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1586
+ /** Tool Name */
1587
+ tool_name: string;
1588
+ /**
1589
+ * @description discriminator enum property added by openapi-typescript
1590
+ * @enum {string}
1591
+ */
1592
+ type: "tool_reference";
1593
+ };
1594
+ /** RequestToolResultBlock */
1595
+ RequestToolResultBlock: {
1596
+ /**
1597
+ * Cache Control
1598
+ * @description Create a cache control breakpoint at this content block.
1599
+ */
1600
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1601
+ /** Content */
1602
+ content?: string | (components["schemas"]["RequestTextBlock"] | components["schemas"]["RequestImageBlock"] | components["schemas"]["RequestSearchResultBlock"] | components["schemas"]["RequestDocumentBlock"] | components["schemas"]["RequestToolReferenceBlock"])[];
1603
+ /** Is Error */
1604
+ is_error?: boolean;
1605
+ /** Tool Use Id */
1606
+ tool_use_id: string;
1607
+ /**
1608
+ * @description discriminator enum property added by openapi-typescript
1609
+ * @enum {string}
1610
+ */
1611
+ type: "tool_result";
1612
+ };
1613
+ /** RequestToolSearchToolResultBlock */
1614
+ RequestToolSearchToolResultBlock: {
1615
+ /**
1616
+ * Cache Control
1617
+ * @description Create a cache control breakpoint at this content block.
1618
+ */
1619
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1620
+ /** Content */
1621
+ content: components["schemas"]["RequestToolSearchToolResultError"] | components["schemas"]["RequestToolSearchToolSearchResultBlock"];
1622
+ /** Tool Use Id */
1623
+ tool_use_id: string;
1624
+ /**
1625
+ * @description discriminator enum property added by openapi-typescript
1626
+ * @enum {string}
1627
+ */
1628
+ type: "tool_search_tool_result";
1629
+ };
1630
+ /** RequestToolSearchToolResultError */
1631
+ RequestToolSearchToolResultError: {
1632
+ error_code: components["schemas"]["ToolSearchToolResultErrorCode"];
1633
+ /**
1634
+ * Type
1635
+ * @constant
1636
+ */
1637
+ type: "tool_search_tool_result_error";
1638
+ };
1639
+ /** RequestToolSearchToolSearchResultBlock */
1640
+ RequestToolSearchToolSearchResultBlock: {
1641
+ /** Tool References */
1642
+ tool_references: components["schemas"]["RequestToolReferenceBlock"][];
1643
+ /**
1644
+ * Type
1645
+ * @constant
1646
+ */
1647
+ type: "tool_search_tool_search_result";
1648
+ };
1649
+ /** RequestToolUseBlock */
1650
+ RequestToolUseBlock: {
1651
+ /**
1652
+ * Cache Control
1653
+ * @description Create a cache control breakpoint at this content block.
1654
+ */
1655
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1656
+ /** Caller */
1657
+ caller?: components["schemas"]["DirectCaller"] | components["schemas"]["ServerToolCaller"] | components["schemas"]["ServerToolCaller_20260120"];
1658
+ /** Id */
1659
+ id: string;
1660
+ /** Input */
1661
+ input: {
1662
+ [key: string]: unknown;
1663
+ };
1664
+ /** Name */
1665
+ name: string;
1666
+ /**
1667
+ * @description discriminator enum property added by openapi-typescript
1668
+ * @enum {string}
1669
+ */
1670
+ type: "tool_use";
1671
+ };
1672
+ /** RequestWebFetchResultBlock */
1673
+ RequestWebFetchResultBlock: {
1674
+ content: components["schemas"]["RequestDocumentBlock"];
1675
+ /**
1676
+ * Retrieved At
1677
+ * @description ISO 8601 timestamp when the content was retrieved
1678
+ */
1679
+ retrieved_at?: string | null;
1680
+ /**
1681
+ * Type
1682
+ * @constant
1683
+ */
1684
+ type: "web_fetch_result";
1685
+ /**
1686
+ * Url
1687
+ * @description Fetched content URL
1688
+ */
1689
+ url: string;
1690
+ };
1691
+ /** RequestWebFetchToolResultBlock */
1692
+ RequestWebFetchToolResultBlock: {
1693
+ /**
1694
+ * Cache Control
1695
+ * @description Create a cache control breakpoint at this content block.
1696
+ */
1697
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1698
+ /** Caller */
1699
+ caller?: components["schemas"]["DirectCaller"] | components["schemas"]["ServerToolCaller"] | components["schemas"]["ServerToolCaller_20260120"];
1700
+ /** Content */
1701
+ content: components["schemas"]["RequestWebFetchToolResultError"] | components["schemas"]["RequestWebFetchResultBlock"];
1702
+ /** Tool Use Id */
1703
+ tool_use_id: string;
1704
+ /**
1705
+ * @description discriminator enum property added by openapi-typescript
1706
+ * @enum {string}
1707
+ */
1708
+ type: "web_fetch_tool_result";
1709
+ };
1710
+ /** RequestWebFetchToolResultError */
1711
+ RequestWebFetchToolResultError: {
1712
+ error_code: components["schemas"]["WebFetchToolResultErrorCode"];
1713
+ /**
1714
+ * Type
1715
+ * @constant
1716
+ */
1717
+ type: "web_fetch_tool_result_error";
1718
+ };
1719
+ /** RequestWebSearchResultBlock */
1720
+ RequestWebSearchResultBlock: {
1721
+ /** Encrypted Content */
1722
+ encrypted_content: string;
1723
+ /** Page Age */
1724
+ page_age?: string | null;
1725
+ /** Title */
1726
+ title: string;
1727
+ /**
1728
+ * Type
1729
+ * @constant
1730
+ */
1731
+ type: "web_search_result";
1732
+ /** Url */
1733
+ url: string;
1734
+ };
1735
+ /** RequestWebSearchResultLocationCitation */
1736
+ RequestWebSearchResultLocationCitation: {
1737
+ /** Cited Text */
1738
+ cited_text: string;
1739
+ /** Encrypted Index */
1740
+ encrypted_index: string;
1741
+ /** Title */
1742
+ title: string | null;
1743
+ /**
1744
+ * @description discriminator enum property added by openapi-typescript
1745
+ * @enum {string}
1746
+ */
1747
+ type: "web_search_result_location";
1748
+ /** Url */
1749
+ url: string;
1750
+ };
1751
+ /** RequestWebSearchToolResultBlock */
1752
+ RequestWebSearchToolResultBlock: {
1753
+ /**
1754
+ * Cache Control
1755
+ * @description Create a cache control breakpoint at this content block.
1756
+ */
1757
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
1758
+ /** Caller */
1759
+ caller?: components["schemas"]["DirectCaller"] | components["schemas"]["ServerToolCaller"] | components["schemas"]["ServerToolCaller_20260120"];
1760
+ /** Content */
1761
+ content: components["schemas"]["RequestWebSearchResultBlock"][] | components["schemas"]["RequestWebSearchToolResultError"];
1762
+ /** Tool Use Id */
1763
+ tool_use_id: string;
1764
+ /**
1765
+ * @description discriminator enum property added by openapi-typescript
1766
+ * @enum {string}
1767
+ */
1768
+ type: "web_search_tool_result";
1769
+ };
1770
+ /** RequestWebSearchToolResultError */
1771
+ RequestWebSearchToolResultError: {
1772
+ error_code: components["schemas"]["WebSearchToolResultErrorCode"];
1773
+ /**
1774
+ * Type
1775
+ * @constant
1776
+ */
1777
+ type: "web_search_tool_result_error";
1778
+ };
1779
+ /** ResponseBashCodeExecutionOutputBlock */
1780
+ ResponseBashCodeExecutionOutputBlock: {
1781
+ /** File Id */
1782
+ file_id: string;
1783
+ /**
1784
+ * Type
1785
+ * @default bash_code_execution_output
1786
+ * @constant
1787
+ */
1788
+ type: "bash_code_execution_output";
1789
+ };
1790
+ /** ResponseBashCodeExecutionResultBlock */
1791
+ ResponseBashCodeExecutionResultBlock: {
1792
+ /** Content */
1793
+ content: components["schemas"]["ResponseBashCodeExecutionOutputBlock"][];
1794
+ /** Return Code */
1795
+ return_code: number;
1796
+ /** Stderr */
1797
+ stderr: string;
1798
+ /** Stdout */
1799
+ stdout: string;
1800
+ /**
1801
+ * Type
1802
+ * @default bash_code_execution_result
1803
+ * @constant
1804
+ */
1805
+ type: "bash_code_execution_result";
1806
+ };
1807
+ /** ResponseBashCodeExecutionToolResultBlock */
1808
+ ResponseBashCodeExecutionToolResultBlock: {
1809
+ /** Content */
1810
+ content: components["schemas"]["ResponseBashCodeExecutionToolResultError"] | components["schemas"]["ResponseBashCodeExecutionResultBlock"];
1811
+ /** Tool Use Id */
1812
+ tool_use_id: string;
1813
+ /**
1814
+ * @description discriminator enum property added by openapi-typescript
1815
+ * @enum {string}
1816
+ */
1817
+ type: "bash_code_execution_tool_result";
1818
+ };
1819
+ /** ResponseBashCodeExecutionToolResultError */
1820
+ ResponseBashCodeExecutionToolResultError: {
1821
+ error_code: components["schemas"]["BashCodeExecutionToolResultErrorCode"];
1822
+ /**
1823
+ * Type
1824
+ * @default bash_code_execution_tool_result_error
1825
+ * @constant
1826
+ */
1827
+ type: "bash_code_execution_tool_result_error";
1828
+ };
1829
+ /** ResponseCharLocationCitation */
1830
+ ResponseCharLocationCitation: {
1831
+ /** Cited Text */
1832
+ cited_text: string;
1833
+ /** Document Index */
1834
+ document_index: number;
1835
+ /** Document Title */
1836
+ document_title: string | null;
1837
+ /** End Char Index */
1838
+ end_char_index: number;
1839
+ /**
1840
+ * File Id
1841
+ * @default null
1842
+ */
1843
+ file_id: string | null;
1844
+ /** Start Char Index */
1845
+ start_char_index: number;
1846
+ /**
1847
+ * @description discriminator enum property added by openapi-typescript
1848
+ * @enum {string}
1849
+ */
1850
+ type: "char_location";
1851
+ };
1852
+ /** ResponseCitationsConfig */
1853
+ ResponseCitationsConfig: {
1854
+ /**
1855
+ * Enabled
1856
+ * @default false
1857
+ */
1858
+ enabled: boolean;
1859
+ };
1860
+ /** ResponseCodeExecutionOutputBlock */
1861
+ ResponseCodeExecutionOutputBlock: {
1862
+ /** File Id */
1863
+ file_id: string;
1864
+ /**
1865
+ * Type
1866
+ * @default code_execution_output
1867
+ * @constant
1868
+ */
1869
+ type: "code_execution_output";
1870
+ };
1871
+ /** ResponseCodeExecutionResultBlock */
1872
+ ResponseCodeExecutionResultBlock: {
1873
+ /** Content */
1874
+ content: components["schemas"]["ResponseCodeExecutionOutputBlock"][];
1875
+ /** Return Code */
1876
+ return_code: number;
1877
+ /** Stderr */
1878
+ stderr: string;
1879
+ /** Stdout */
1880
+ stdout: string;
1881
+ /**
1882
+ * Type
1883
+ * @default code_execution_result
1884
+ * @constant
1885
+ */
1886
+ type: "code_execution_result";
1887
+ };
1888
+ /** ResponseCodeExecutionToolResultBlock */
1889
+ ResponseCodeExecutionToolResultBlock: {
1890
+ /** Content */
1891
+ content: components["schemas"]["ResponseCodeExecutionToolResultError"] | components["schemas"]["ResponseCodeExecutionResultBlock"] | components["schemas"]["ResponseEncryptedCodeExecutionResultBlock"];
1892
+ /** Tool Use Id */
1893
+ tool_use_id: string;
1894
+ /**
1895
+ * @description discriminator enum property added by openapi-typescript
1896
+ * @enum {string}
1897
+ */
1898
+ type: "code_execution_tool_result";
1899
+ };
1900
+ /** ResponseCodeExecutionToolResultError */
1901
+ ResponseCodeExecutionToolResultError: {
1902
+ error_code: components["schemas"]["CodeExecutionToolResultErrorCode"];
1903
+ /**
1904
+ * Type
1905
+ * @default code_execution_tool_result_error
1906
+ * @constant
1907
+ */
1908
+ type: "code_execution_tool_result_error";
1909
+ };
1910
+ /**
1911
+ * ResponseContainerUploadBlock
1912
+ * @description Response model for a file uploaded to the container.
1913
+ */
1914
+ ResponseContainerUploadBlock: {
1915
+ /** File Id */
1916
+ file_id: string;
1917
+ /**
1918
+ * @description discriminator enum property added by openapi-typescript
1919
+ * @enum {string}
1920
+ */
1921
+ type: "container_upload";
1922
+ };
1923
+ /** ResponseContentBlockLocationCitation */
1924
+ ResponseContentBlockLocationCitation: {
1925
+ /** Cited Text */
1926
+ cited_text: string;
1927
+ /** Document Index */
1928
+ document_index: number;
1929
+ /** Document Title */
1930
+ document_title: string | null;
1931
+ /** End Block Index */
1932
+ end_block_index: number;
1933
+ /**
1934
+ * File Id
1935
+ * @default null
1936
+ */
1937
+ file_id: string | null;
1938
+ /** Start Block Index */
1939
+ start_block_index: number;
1940
+ /**
1941
+ * @description discriminator enum property added by openapi-typescript
1942
+ * @enum {string}
1943
+ */
1944
+ type: "content_block_location";
1945
+ };
1946
+ /** ResponseDocumentBlock */
1947
+ ResponseDocumentBlock: {
1948
+ /**
1949
+ * @description Citation configuration for the document
1950
+ * @default null
1951
+ */
1952
+ citations: components["schemas"]["ResponseCitationsConfig"] | null;
1953
+ /** Source */
1954
+ source: components["schemas"]["Base64PDFSource"] | components["schemas"]["PlainTextSource"];
1955
+ /**
1956
+ * Title
1957
+ * @description The title of the document
1958
+ * @default null
1959
+ */
1960
+ title: string | null;
1961
+ /**
1962
+ * Type
1963
+ * @default document
1964
+ * @constant
1965
+ */
1966
+ type: "document";
1967
+ };
1968
+ /**
1969
+ * ResponseEncryptedCodeExecutionResultBlock
1970
+ * @description Code execution result with encrypted stdout for PFC + web_search results.
1971
+ */
1972
+ ResponseEncryptedCodeExecutionResultBlock: {
1973
+ /** Content */
1974
+ content: components["schemas"]["ResponseCodeExecutionOutputBlock"][];
1975
+ /** Encrypted Stdout */
1976
+ encrypted_stdout: string;
1977
+ /** Return Code */
1978
+ return_code: number;
1979
+ /** Stderr */
1980
+ stderr: string;
1981
+ /**
1982
+ * Type
1983
+ * @default encrypted_code_execution_result
1984
+ * @constant
1985
+ */
1986
+ type: "encrypted_code_execution_result";
1987
+ };
1988
+ /** ResponsePageLocationCitation */
1989
+ ResponsePageLocationCitation: {
1990
+ /** Cited Text */
1991
+ cited_text: string;
1992
+ /** Document Index */
1993
+ document_index: number;
1994
+ /** Document Title */
1995
+ document_title: string | null;
1996
+ /** End Page Number */
1997
+ end_page_number: number;
1998
+ /**
1999
+ * File Id
2000
+ * @default null
2001
+ */
2002
+ file_id: string | null;
2003
+ /** Start Page Number */
2004
+ start_page_number: number;
2005
+ /**
2006
+ * @description discriminator enum property added by openapi-typescript
2007
+ * @enum {string}
2008
+ */
2009
+ type: "page_location";
2010
+ };
2011
+ /** ResponseRedactedThinkingBlock */
2012
+ ResponseRedactedThinkingBlock: {
2013
+ /** Data */
2014
+ data: string;
2015
+ /**
2016
+ * @description discriminator enum property added by openapi-typescript
2017
+ * @enum {string}
2018
+ */
2019
+ type: "redacted_thinking";
2020
+ };
2021
+ /** ResponseSearchResultLocationCitation */
2022
+ ResponseSearchResultLocationCitation: {
2023
+ /** Cited Text */
2024
+ cited_text: string;
2025
+ /** End Block Index */
2026
+ end_block_index: number;
2027
+ /** Search Result Index */
2028
+ search_result_index: number;
2029
+ /** Source */
2030
+ source: string;
2031
+ /** Start Block Index */
2032
+ start_block_index: number;
2033
+ /** Title */
2034
+ title: string | null;
2035
+ /**
2036
+ * @description discriminator enum property added by openapi-typescript
2037
+ * @enum {string}
2038
+ */
2039
+ type: "search_result_location";
2040
+ };
2041
+ /** ResponseServerToolUseBlock */
2042
+ ResponseServerToolUseBlock: {
2043
+ /**
2044
+ * Caller
2045
+ * @default {
2046
+ * "type": "direct"
2047
+ * }
2048
+ */
2049
+ caller: components["schemas"]["DirectCaller"] | components["schemas"]["ServerToolCaller"] | components["schemas"]["ServerToolCaller_20260120"];
2050
+ /** Id */
2051
+ id: string;
2052
+ /** Input */
2053
+ input: {
2054
+ [key: string]: unknown;
2055
+ };
2056
+ /**
2057
+ * Name
2058
+ * @enum {string}
2059
+ */
2060
+ name: "web_search" | "web_fetch" | "code_execution" | "bash_code_execution" | "text_editor_code_execution" | "tool_search_tool_regex" | "tool_search_tool_bm25";
2061
+ /**
2062
+ * @description discriminator enum property added by openapi-typescript
2063
+ * @enum {string}
2064
+ */
2065
+ type: "server_tool_use";
2066
+ };
2067
+ /** ResponseTextBlock */
2068
+ ResponseTextBlock: {
2069
+ /**
2070
+ * Citations
2071
+ * @description Citations supporting the text block.
2072
+ *
2073
+ * The type of citation returned will depend on the type of document being cited. Citing a PDF results in `page_location`, plain text results in `char_location`, and content document results in `content_block_location`.
2074
+ * @default null
2075
+ */
2076
+ citations: (components["schemas"]["ResponseCharLocationCitation"] | components["schemas"]["ResponsePageLocationCitation"] | components["schemas"]["ResponseContentBlockLocationCitation"] | components["schemas"]["ResponseWebSearchResultLocationCitation"] | components["schemas"]["ResponseSearchResultLocationCitation"])[] | null;
2077
+ /** Text */
2078
+ text: string;
2079
+ /**
2080
+ * @description discriminator enum property added by openapi-typescript
2081
+ * @enum {string}
2082
+ */
2083
+ type: "text";
2084
+ };
2085
+ /** ResponseTextEditorCodeExecutionCreateResultBlock */
2086
+ ResponseTextEditorCodeExecutionCreateResultBlock: {
2087
+ /** Is File Update */
2088
+ is_file_update: boolean;
2089
+ /**
2090
+ * Type
2091
+ * @default text_editor_code_execution_create_result
2092
+ * @constant
2093
+ */
2094
+ type: "text_editor_code_execution_create_result";
2095
+ };
2096
+ /** ResponseTextEditorCodeExecutionStrReplaceResultBlock */
2097
+ ResponseTextEditorCodeExecutionStrReplaceResultBlock: {
2098
+ /**
2099
+ * Lines
2100
+ * @default null
2101
+ */
2102
+ lines: string[] | null;
2103
+ /**
2104
+ * New Lines
2105
+ * @default null
2106
+ */
2107
+ new_lines: number | null;
2108
+ /**
2109
+ * New Start
2110
+ * @default null
2111
+ */
2112
+ new_start: number | null;
2113
+ /**
2114
+ * Old Lines
2115
+ * @default null
2116
+ */
2117
+ old_lines: number | null;
2118
+ /**
2119
+ * Old Start
2120
+ * @default null
2121
+ */
2122
+ old_start: number | null;
2123
+ /**
2124
+ * Type
2125
+ * @default text_editor_code_execution_str_replace_result
2126
+ * @constant
2127
+ */
2128
+ type: "text_editor_code_execution_str_replace_result";
2129
+ };
2130
+ /** ResponseTextEditorCodeExecutionToolResultBlock */
2131
+ ResponseTextEditorCodeExecutionToolResultBlock: {
2132
+ /** Content */
2133
+ content: components["schemas"]["ResponseTextEditorCodeExecutionToolResultError"] | components["schemas"]["ResponseTextEditorCodeExecutionViewResultBlock"] | components["schemas"]["ResponseTextEditorCodeExecutionCreateResultBlock"] | components["schemas"]["ResponseTextEditorCodeExecutionStrReplaceResultBlock"];
2134
+ /** Tool Use Id */
2135
+ tool_use_id: string;
2136
+ /**
2137
+ * @description discriminator enum property added by openapi-typescript
2138
+ * @enum {string}
2139
+ */
2140
+ type: "text_editor_code_execution_tool_result";
2141
+ };
2142
+ /** ResponseTextEditorCodeExecutionToolResultError */
2143
+ ResponseTextEditorCodeExecutionToolResultError: {
2144
+ error_code: components["schemas"]["TextEditorCodeExecutionToolResultErrorCode"];
2145
+ /**
2146
+ * Error Message
2147
+ * @default null
2148
+ */
2149
+ error_message: string | null;
2150
+ /**
2151
+ * Type
2152
+ * @default text_editor_code_execution_tool_result_error
2153
+ * @constant
2154
+ */
2155
+ type: "text_editor_code_execution_tool_result_error";
2156
+ };
2157
+ /** ResponseTextEditorCodeExecutionViewResultBlock */
2158
+ ResponseTextEditorCodeExecutionViewResultBlock: {
2159
+ /** Content */
2160
+ content: string;
2161
+ /**
2162
+ * File Type
2163
+ * @enum {string}
2164
+ */
2165
+ file_type: "text" | "image" | "pdf";
2166
+ /**
2167
+ * Num Lines
2168
+ * @default null
2169
+ */
2170
+ num_lines: number | null;
2171
+ /**
2172
+ * Start Line
2173
+ * @default null
2174
+ */
2175
+ start_line: number | null;
2176
+ /**
2177
+ * Total Lines
2178
+ * @default null
2179
+ */
2180
+ total_lines: number | null;
2181
+ /**
2182
+ * Type
2183
+ * @default text_editor_code_execution_view_result
2184
+ * @constant
2185
+ */
2186
+ type: "text_editor_code_execution_view_result";
2187
+ };
2188
+ /** ResponseThinkingBlock */
2189
+ ResponseThinkingBlock: {
2190
+ /** Signature */
2191
+ signature: string;
2192
+ /** Thinking */
2193
+ thinking: string;
2194
+ /**
2195
+ * @description discriminator enum property added by openapi-typescript
2196
+ * @enum {string}
2197
+ */
2198
+ type: "thinking";
2199
+ };
2200
+ /** ResponseToolReferenceBlock */
2201
+ ResponseToolReferenceBlock: {
2202
+ /** Tool Name */
2203
+ tool_name: string;
2204
+ /**
2205
+ * Type
2206
+ * @default tool_reference
2207
+ * @constant
2208
+ */
2209
+ type: "tool_reference";
2210
+ };
2211
+ /** ResponseToolSearchToolResultBlock */
2212
+ ResponseToolSearchToolResultBlock: {
2213
+ /** Content */
2214
+ content: components["schemas"]["ResponseToolSearchToolResultError"] | components["schemas"]["ResponseToolSearchToolSearchResultBlock"];
2215
+ /** Tool Use Id */
2216
+ tool_use_id: string;
2217
+ /**
2218
+ * @description discriminator enum property added by openapi-typescript
2219
+ * @enum {string}
2220
+ */
2221
+ type: "tool_search_tool_result";
2222
+ };
2223
+ /** ResponseToolSearchToolResultError */
2224
+ ResponseToolSearchToolResultError: {
2225
+ error_code: components["schemas"]["ToolSearchToolResultErrorCode"];
2226
+ /**
2227
+ * Error Message
2228
+ * @default null
2229
+ */
2230
+ error_message: string | null;
2231
+ /**
2232
+ * Type
2233
+ * @default tool_search_tool_result_error
2234
+ * @constant
2235
+ */
2236
+ type: "tool_search_tool_result_error";
2237
+ };
2238
+ /** ResponseToolSearchToolSearchResultBlock */
2239
+ ResponseToolSearchToolSearchResultBlock: {
2240
+ /** Tool References */
2241
+ tool_references: components["schemas"]["ResponseToolReferenceBlock"][];
2242
+ /**
2243
+ * Type
2244
+ * @default tool_search_tool_search_result
2245
+ * @constant
2246
+ */
2247
+ type: "tool_search_tool_search_result";
2248
+ };
2249
+ /** ResponseToolUseBlock */
2250
+ ResponseToolUseBlock: {
2251
+ /**
2252
+ * Caller
2253
+ * @default {
2254
+ * "type": "direct"
2255
+ * }
2256
+ */
2257
+ caller: components["schemas"]["DirectCaller"] | components["schemas"]["ServerToolCaller"] | components["schemas"]["ServerToolCaller_20260120"];
2258
+ /** Id */
2259
+ id: string;
2260
+ /** Input */
2261
+ input: {
2262
+ [key: string]: unknown;
2263
+ };
2264
+ /** Name */
2265
+ name: string;
2266
+ /**
2267
+ * @description discriminator enum property added by openapi-typescript
2268
+ * @enum {string}
2269
+ */
2270
+ type: "tool_use";
2271
+ };
2272
+ /** ResponseWebFetchResultBlock */
2273
+ ResponseWebFetchResultBlock: {
2274
+ content: components["schemas"]["ResponseDocumentBlock"];
2275
+ /**
2276
+ * Retrieved At
2277
+ * @description ISO 8601 timestamp when the content was retrieved
2278
+ * @default null
2279
+ */
2280
+ retrieved_at: string | null;
2281
+ /**
2282
+ * Type
2283
+ * @default web_fetch_result
2284
+ * @constant
2285
+ */
2286
+ type: "web_fetch_result";
2287
+ /**
2288
+ * Url
2289
+ * @description Fetched content URL
2290
+ */
2291
+ url: string;
2292
+ };
2293
+ /** ResponseWebFetchToolResultBlock */
2294
+ ResponseWebFetchToolResultBlock: {
2295
+ /**
2296
+ * Caller
2297
+ * @default {
2298
+ * "type": "direct"
2299
+ * }
2300
+ */
2301
+ caller: components["schemas"]["DirectCaller"] | components["schemas"]["ServerToolCaller"] | components["schemas"]["ServerToolCaller_20260120"];
2302
+ /** Content */
2303
+ content: components["schemas"]["ResponseWebFetchToolResultError"] | components["schemas"]["ResponseWebFetchResultBlock"];
2304
+ /** Tool Use Id */
2305
+ tool_use_id: string;
2306
+ /**
2307
+ * @description discriminator enum property added by openapi-typescript
2308
+ * @enum {string}
2309
+ */
2310
+ type: "web_fetch_tool_result";
2311
+ };
2312
+ /** ResponseWebFetchToolResultError */
2313
+ ResponseWebFetchToolResultError: {
2314
+ error_code: components["schemas"]["WebFetchToolResultErrorCode"];
2315
+ /**
2316
+ * Type
2317
+ * @default web_fetch_tool_result_error
2318
+ * @constant
2319
+ */
2320
+ type: "web_fetch_tool_result_error";
2321
+ };
2322
+ /** ResponseWebSearchResultBlock */
2323
+ ResponseWebSearchResultBlock: {
2324
+ /** Encrypted Content */
2325
+ encrypted_content: string;
2326
+ /**
2327
+ * Page Age
2328
+ * @default null
2329
+ */
2330
+ page_age: string | null;
2331
+ /** Title */
2332
+ title: string;
2333
+ /**
2334
+ * Type
2335
+ * @default web_search_result
2336
+ * @constant
2337
+ */
2338
+ type: "web_search_result";
2339
+ /** Url */
2340
+ url: string;
2341
+ };
2342
+ /** ResponseWebSearchResultLocationCitation */
2343
+ ResponseWebSearchResultLocationCitation: {
2344
+ /** Cited Text */
2345
+ cited_text: string;
2346
+ /** Encrypted Index */
2347
+ encrypted_index: string;
2348
+ /** Title */
2349
+ title: string | null;
2350
+ /**
2351
+ * @description discriminator enum property added by openapi-typescript
2352
+ * @enum {string}
2353
+ */
2354
+ type: "web_search_result_location";
2355
+ /** Url */
2356
+ url: string;
2357
+ };
2358
+ /** ResponseWebSearchToolResultBlock */
2359
+ ResponseWebSearchToolResultBlock: {
2360
+ /**
2361
+ * Caller
2362
+ * @default {
2363
+ * "type": "direct"
2364
+ * }
2365
+ */
2366
+ caller: components["schemas"]["DirectCaller"] | components["schemas"]["ServerToolCaller"] | components["schemas"]["ServerToolCaller_20260120"];
2367
+ /** Content */
2368
+ content: components["schemas"]["ResponseWebSearchToolResultError"] | components["schemas"]["ResponseWebSearchResultBlock"][];
2369
+ /** Tool Use Id */
2370
+ tool_use_id: string;
2371
+ /**
2372
+ * @description discriminator enum property added by openapi-typescript
2373
+ * @enum {string}
2374
+ */
2375
+ type: "web_search_tool_result";
2376
+ };
2377
+ /** ResponseWebSearchToolResultError */
2378
+ ResponseWebSearchToolResultError: {
2379
+ error_code: components["schemas"]["WebSearchToolResultErrorCode"];
2380
+ /**
2381
+ * Type
2382
+ * @default web_search_tool_result_error
2383
+ * @constant
2384
+ */
2385
+ type: "web_search_tool_result_error";
2386
+ };
2387
+ /**
2388
+ * ServerToolCaller
2389
+ * @description Tool invocation generated by a server-side tool.
2390
+ */
2391
+ ServerToolCaller: {
2392
+ /** Tool Id */
2393
+ tool_id: string;
2394
+ /**
2395
+ * @description discriminator enum property added by openapi-typescript
2396
+ * @enum {string}
2397
+ */
2398
+ type: "code_execution_20250825";
2399
+ };
2400
+ /** ServerToolCaller_20260120 */
2401
+ ServerToolCaller_20260120: {
2402
+ /** Tool Id */
2403
+ tool_id: string;
2404
+ /**
2405
+ * @description discriminator enum property added by openapi-typescript
2406
+ * @enum {string}
2407
+ */
2408
+ type: "code_execution_20260120";
2409
+ };
2410
+ /** ServerToolUsage */
2411
+ ServerToolUsage: {
2412
+ /**
2413
+ * Web Fetch Requests
2414
+ * @description The number of web fetch tool requests.
2415
+ * @default 0
2416
+ * @example 2
2417
+ */
2418
+ web_fetch_requests: number;
2419
+ /**
2420
+ * Web Search Requests
2421
+ * @description The number of web search tool requests.
2422
+ * @default 0
2423
+ * @example 0
2424
+ */
2425
+ web_search_requests: number;
2426
+ };
2427
+ /**
2428
+ * TextEditorCodeExecutionToolResultErrorCode
2429
+ * @enum {string}
2430
+ */
2431
+ TextEditorCodeExecutionToolResultErrorCode: "invalid_tool_input" | "unavailable" | "too_many_requests" | "execution_time_exceeded" | "file_not_found";
2432
+ /** TextEditor_20250124 */
2433
+ TextEditor_20250124: {
2434
+ /** Allowed Callers */
2435
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
2436
+ /**
2437
+ * Cache Control
2438
+ * @description Create a cache control breakpoint at this content block.
2439
+ */
2440
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
2441
+ /**
2442
+ * Defer Loading
2443
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
2444
+ */
2445
+ defer_loading?: boolean;
2446
+ /** Input Examples */
2447
+ input_examples?: {
2448
+ [key: string]: components["schemas"]["JsonValue"];
2449
+ }[];
2450
+ /**
2451
+ * Name
2452
+ * @description Name of the tool.
2453
+ *
2454
+ * This is how the tool will be called by the model and in `tool_use` blocks.
2455
+ * @constant
2456
+ */
2457
+ name: "str_replace_editor";
2458
+ /**
2459
+ * Strict
2460
+ * @description When true, guarantees schema validation on tool names and inputs
2461
+ */
2462
+ strict?: boolean;
2463
+ /**
2464
+ * Type
2465
+ * @constant
2466
+ */
2467
+ type: "text_editor_20250124";
2468
+ };
2469
+ /** TextEditor_20250429 */
2470
+ TextEditor_20250429: {
2471
+ /** Allowed Callers */
2472
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
2473
+ /**
2474
+ * Cache Control
2475
+ * @description Create a cache control breakpoint at this content block.
2476
+ */
2477
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
2478
+ /**
2479
+ * Defer Loading
2480
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
2481
+ */
2482
+ defer_loading?: boolean;
2483
+ /** Input Examples */
2484
+ input_examples?: {
2485
+ [key: string]: components["schemas"]["JsonValue"];
2486
+ }[];
2487
+ /**
2488
+ * Name
2489
+ * @description Name of the tool.
2490
+ *
2491
+ * This is how the tool will be called by the model and in `tool_use` blocks.
2492
+ * @constant
2493
+ */
2494
+ name: "str_replace_based_edit_tool";
2495
+ /**
2496
+ * Strict
2497
+ * @description When true, guarantees schema validation on tool names and inputs
2498
+ */
2499
+ strict?: boolean;
2500
+ /**
2501
+ * Type
2502
+ * @constant
2503
+ */
2504
+ type: "text_editor_20250429";
2505
+ };
2506
+ /** TextEditor_20250728 */
2507
+ TextEditor_20250728: {
2508
+ /** Allowed Callers */
2509
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
2510
+ /**
2511
+ * Cache Control
2512
+ * @description Create a cache control breakpoint at this content block.
2513
+ */
2514
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
2515
+ /**
2516
+ * Defer Loading
2517
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
2518
+ */
2519
+ defer_loading?: boolean;
2520
+ /** Input Examples */
2521
+ input_examples?: {
2522
+ [key: string]: components["schemas"]["JsonValue"];
2523
+ }[];
2524
+ /**
2525
+ * Max Characters
2526
+ * @description Maximum number of characters to display when viewing a file. If not specified, defaults to displaying the full file.
2527
+ */
2528
+ max_characters?: number | null;
2529
+ /**
2530
+ * Name
2531
+ * @description Name of the tool.
2532
+ *
2533
+ * This is how the tool will be called by the model and in `tool_use` blocks.
2534
+ * @constant
2535
+ */
2536
+ name: "str_replace_based_edit_tool";
2537
+ /**
2538
+ * Strict
2539
+ * @description When true, guarantees schema validation on tool names and inputs
2540
+ */
2541
+ strict?: boolean;
2542
+ /**
2543
+ * Type
2544
+ * @constant
2545
+ */
2546
+ type: "text_editor_20250728";
2547
+ };
2548
+ /**
2549
+ * ThinkingCapability
2550
+ * @description Thinking capability details.
2551
+ */
2552
+ ThinkingCapability: {
2553
+ /**
2554
+ * Supported
2555
+ * @description Whether this capability is supported by the model.
2556
+ */
2557
+ supported: boolean;
2558
+ types: components["schemas"]["ThinkingTypes"];
2559
+ };
2560
+ /** ThinkingConfigAdaptive */
2561
+ ThinkingConfigAdaptive: {
2562
+ /** @description Controls how thinking content appears in the response. When set to `summarized`, thinking is returned normally. When set to `omitted`, thinking content is redacted but a signature is returned for multi-turn continuity. Defaults to `summarized`. */
2563
+ display?: components["schemas"]["ThinkingDisplayMode"] | null;
2564
+ /**
2565
+ * @description discriminator enum property added by openapi-typescript
2566
+ * @enum {string}
2567
+ */
2568
+ type: "adaptive";
2569
+ };
2570
+ /** ThinkingConfigDisabled */
2571
+ ThinkingConfigDisabled: {
2572
+ /**
2573
+ * @description discriminator enum property added by openapi-typescript
2574
+ * @enum {string}
2575
+ */
2576
+ type: "disabled";
2577
+ };
2578
+ /** ThinkingConfigEnabled */
2579
+ ThinkingConfigEnabled: {
2580
+ /**
2581
+ * Budget Tokens
2582
+ * @description Determines how many tokens Claude can use for its internal reasoning process. Larger budgets can enable more thorough analysis for complex problems, improving response quality.
2583
+ *
2584
+ * Must be ≥1024 and less than `max_tokens`.
2585
+ *
2586
+ * See [extended thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) for details.
2587
+ */
2588
+ budget_tokens: number;
2589
+ /** @description Controls how thinking content appears in the response. When set to `summarized`, thinking is returned normally. When set to `omitted`, thinking content is redacted but a signature is returned for multi-turn continuity. Defaults to `summarized`. */
2590
+ display?: components["schemas"]["ThinkingDisplayMode"] | null;
2591
+ /**
2592
+ * @description discriminator enum property added by openapi-typescript
2593
+ * @enum {string}
2594
+ */
2595
+ type: "enabled";
2596
+ };
2597
+ /**
2598
+ * ThinkingDisplayMode
2599
+ * @enum {string}
2600
+ */
2601
+ ThinkingDisplayMode: "summarized" | "omitted";
2602
+ /**
2603
+ * ThinkingTypes
2604
+ * @description Supported thinking type configurations.
2605
+ */
2606
+ ThinkingTypes: {
2607
+ /** @description Whether the model supports thinking with type 'adaptive' (auto). */
2608
+ adaptive: components["schemas"]["CapabilitySupport"];
2609
+ /** @description Whether the model supports thinking with type 'enabled'. */
2610
+ enabled: components["schemas"]["CapabilitySupport"];
2611
+ };
2612
+ /** Tool */
2613
+ Tool: {
2614
+ /** Type */
2615
+ type?: null | "custom";
2616
+ /**
2617
+ * Description
2618
+ * @description Description of what this tool does.
2619
+ *
2620
+ * Tool descriptions should be as detailed as possible. The more information that the model has about what the tool is and how to use it, the better it will perform. You can use natural language descriptions to reinforce important aspects of the tool input JSON schema.
2621
+ * @example Get the current weather in a given location
2622
+ */
2623
+ description?: string;
2624
+ /**
2625
+ * Name
2626
+ * @description Name of the tool.
2627
+ *
2628
+ * This is how the tool will be called by the model and in `tool_use` blocks.
2629
+ */
2630
+ name: string;
2631
+ /**
2632
+ * @description [JSON schema](https://json-schema.org/draft/2020-12) for this tool's input.
2633
+ *
2634
+ * This defines the shape of the `input` that your tool accepts and that the model will produce.
2635
+ * @example {
2636
+ * "properties": {
2637
+ * "location": {
2638
+ * "description": "The city and state, e.g. San Francisco, CA",
2639
+ * "type": "string"
2640
+ * },
2641
+ * "unit": {
2642
+ * "description": "Unit for the output - one of (celsius, fahrenheit)",
2643
+ * "type": "string"
2644
+ * }
2645
+ * },
2646
+ * "required": [
2647
+ * "location"
2648
+ * ],
2649
+ * "type": "object"
2650
+ * }
2651
+ */
2652
+ input_schema: components["schemas"]["InputSchema"];
2653
+ /**
2654
+ * Cache Control
2655
+ * @description Create a cache control breakpoint at this content block.
2656
+ */
2657
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
2658
+ /**
2659
+ * Strict
2660
+ * @description When true, guarantees schema validation on tool names and inputs
2661
+ */
2662
+ strict?: boolean;
2663
+ /**
2664
+ * Eager Input Streaming
2665
+ * @description Enable eager input streaming for this tool. When true, tool input parameters will be streamed incrementally as they are generated, and types will be inferred on-the-fly rather than buffering the full JSON output. When false, streaming is disabled for this tool even if the fine-grained-tool-streaming beta is active. When null (default), uses the default behavior based on beta headers.
2666
+ */
2667
+ eager_input_streaming?: boolean | null;
2668
+ /** Allowed Callers */
2669
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
2670
+ /**
2671
+ * Defer Loading
2672
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
2673
+ */
2674
+ defer_loading?: boolean;
2675
+ /** Input Examples */
2676
+ input_examples?: {
2677
+ [key: string]: components["schemas"]["JsonValue"];
2678
+ }[];
2679
+ };
2680
+ /**
2681
+ * ToolChoiceAny
2682
+ * @description The model will use any available tools.
2683
+ */
2684
+ ToolChoiceAny: {
2685
+ /**
2686
+ * Disable Parallel Tool Use
2687
+ * @description Whether to disable parallel tool use.
2688
+ *
2689
+ * Defaults to `false`. If set to `true`, the model will output exactly one tool use.
2690
+ */
2691
+ disable_parallel_tool_use?: boolean;
2692
+ /**
2693
+ * @description discriminator enum property added by openapi-typescript
2694
+ * @enum {string}
2695
+ */
2696
+ type: "any";
2697
+ };
2698
+ /**
2699
+ * ToolChoiceAuto
2700
+ * @description The model will automatically decide whether to use tools.
2701
+ */
2702
+ ToolChoiceAuto: {
2703
+ /**
2704
+ * Disable Parallel Tool Use
2705
+ * @description Whether to disable parallel tool use.
2706
+ *
2707
+ * Defaults to `false`. If set to `true`, the model will output at most one tool use.
2708
+ */
2709
+ disable_parallel_tool_use?: boolean;
2710
+ /**
2711
+ * @description discriminator enum property added by openapi-typescript
2712
+ * @enum {string}
2713
+ */
2714
+ type: "auto";
2715
+ };
2716
+ /**
2717
+ * ToolChoiceNone
2718
+ * @description The model will not be allowed to use tools.
2719
+ */
2720
+ ToolChoiceNone: {
2721
+ /**
2722
+ * @description discriminator enum property added by openapi-typescript
2723
+ * @enum {string}
2724
+ */
2725
+ type: "none";
2726
+ };
2727
+ /**
2728
+ * ToolChoiceTool
2729
+ * @description The model will use the specified tool with `tool_choice.name`.
2730
+ */
2731
+ ToolChoiceTool: {
2732
+ /**
2733
+ * Disable Parallel Tool Use
2734
+ * @description Whether to disable parallel tool use.
2735
+ *
2736
+ * Defaults to `false`. If set to `true`, the model will output exactly one tool use.
2737
+ */
2738
+ disable_parallel_tool_use?: boolean;
2739
+ /**
2740
+ * Name
2741
+ * @description The name of the tool to use.
2742
+ */
2743
+ name: string;
2744
+ /**
2745
+ * @description discriminator enum property added by openapi-typescript
2746
+ * @enum {string}
2747
+ */
2748
+ type: "tool";
2749
+ };
2750
+ /** ToolSearchToolBM25_20251119 */
2751
+ ToolSearchToolBM25_20251119: {
2752
+ /** Allowed Callers */
2753
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
2754
+ /**
2755
+ * Cache Control
2756
+ * @description Create a cache control breakpoint at this content block.
2757
+ */
2758
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
2759
+ /**
2760
+ * Defer Loading
2761
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
2762
+ */
2763
+ defer_loading?: boolean;
2764
+ /**
2765
+ * Name
2766
+ * @description Name of the tool.
2767
+ *
2768
+ * This is how the tool will be called by the model and in `tool_use` blocks.
2769
+ * @constant
2770
+ */
2771
+ name: "tool_search_tool_bm25";
2772
+ /**
2773
+ * Strict
2774
+ * @description When true, guarantees schema validation on tool names and inputs
2775
+ */
2776
+ strict?: boolean;
2777
+ /**
2778
+ * Type
2779
+ * @enum {string}
2780
+ */
2781
+ type: "tool_search_tool_bm25_20251119" | "tool_search_tool_bm25";
2782
+ };
2783
+ /** ToolSearchToolRegex_20251119 */
2784
+ ToolSearchToolRegex_20251119: {
2785
+ /** Allowed Callers */
2786
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
2787
+ /**
2788
+ * Cache Control
2789
+ * @description Create a cache control breakpoint at this content block.
2790
+ */
2791
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
2792
+ /**
2793
+ * Defer Loading
2794
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
2795
+ */
2796
+ defer_loading?: boolean;
2797
+ /**
2798
+ * Name
2799
+ * @description Name of the tool.
2800
+ *
2801
+ * This is how the tool will be called by the model and in `tool_use` blocks.
2802
+ * @constant
2803
+ */
2804
+ name: "tool_search_tool_regex";
2805
+ /**
2806
+ * Strict
2807
+ * @description When true, guarantees schema validation on tool names and inputs
2808
+ */
2809
+ strict?: boolean;
2810
+ /**
2811
+ * Type
2812
+ * @enum {string}
2813
+ */
2814
+ type: "tool_search_tool_regex_20251119" | "tool_search_tool_regex";
2815
+ };
2816
+ /**
2817
+ * ToolSearchToolResultErrorCode
2818
+ * @enum {string}
2819
+ */
2820
+ ToolSearchToolResultErrorCode: "invalid_tool_input" | "unavailable" | "too_many_requests" | "execution_time_exceeded";
2821
+ /** URLImageSource */
2822
+ URLImageSource: {
2823
+ /**
2824
+ * @description discriminator enum property added by openapi-typescript
2825
+ * @enum {string}
2826
+ */
2827
+ type: "url";
2828
+ /** Url */
2829
+ url: string;
2830
+ };
2831
+ /** URLPDFSource */
2832
+ URLPDFSource: {
2833
+ /**
2834
+ * @description discriminator enum property added by openapi-typescript
2835
+ * @enum {string}
2836
+ */
2837
+ type: "url";
2838
+ /** Url */
2839
+ url: string;
2840
+ };
2841
+ /** Usage */
2842
+ Usage: {
2843
+ /**
2844
+ * @description Breakdown of cached tokens by TTL
2845
+ * @default null
2846
+ */
2847
+ cache_creation: components["schemas"]["CacheCreation"] | null;
2848
+ /**
2849
+ * Cache Creation Input Tokens
2850
+ * @description The number of input tokens used to create the cache entry.
2851
+ * @default null
2852
+ * @example 2051
2853
+ */
2854
+ cache_creation_input_tokens: number | null;
2855
+ /**
2856
+ * Cache Read Input Tokens
2857
+ * @description The number of input tokens read from the cache.
2858
+ * @default null
2859
+ * @example 2051
2860
+ */
2861
+ cache_read_input_tokens: number | null;
2862
+ /**
2863
+ * Inference Geo
2864
+ * @description The geographic region where inference was performed for this request.
2865
+ * @default null
2866
+ */
2867
+ inference_geo: string | null;
2868
+ /**
2869
+ * Input Tokens
2870
+ * @description The number of input tokens which were used.
2871
+ * @example 2095
2872
+ */
2873
+ input_tokens: number;
2874
+ /**
2875
+ * Output Tokens
2876
+ * @description The number of output tokens which were used.
2877
+ * @example 503
2878
+ */
2879
+ output_tokens: number;
2880
+ /**
2881
+ * @description The number of server tool requests.
2882
+ * @default null
2883
+ */
2884
+ server_tool_use: components["schemas"]["ServerToolUsage"] | null;
2885
+ /**
2886
+ * Service Tier
2887
+ * @description If the request used the priority, standard, or batch tier.
2888
+ * @default null
2889
+ */
2890
+ service_tier: ("standard" | "priority" | "batch") | null;
2891
+ };
2892
+ /** UserLocation */
2893
+ UserLocation: {
2894
+ /**
2895
+ * City
2896
+ * @description The city of the user.
2897
+ * @example New York
2898
+ * @example Tokyo
2899
+ * @example Los Angeles
2900
+ */
2901
+ city?: string | null;
2902
+ /**
2903
+ * Country
2904
+ * @description The two letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the user.
2905
+ * @example US
2906
+ * @example JP
2907
+ * @example GB
2908
+ */
2909
+ country?: string | null;
2910
+ /**
2911
+ * Region
2912
+ * @description The region of the user.
2913
+ * @example California
2914
+ * @example Ontario
2915
+ * @example Wales
2916
+ */
2917
+ region?: string | null;
2918
+ /**
2919
+ * Timezone
2920
+ * @description The [IANA timezone](https://nodatime.org/TimeZones) of the user.
2921
+ * @example America/New_York
2922
+ * @example Asia/Tokyo
2923
+ * @example Europe/London
2924
+ */
2925
+ timezone?: string | null;
2926
+ /**
2927
+ * Type
2928
+ * @constant
2929
+ */
2930
+ type: "approximate";
2931
+ };
2932
+ /**
2933
+ * WebFetchToolResultErrorCode
2934
+ * @enum {string}
2935
+ */
2936
+ WebFetchToolResultErrorCode: "invalid_tool_input" | "url_too_long" | "url_not_allowed" | "url_not_accessible" | "unsupported_content_type" | "too_many_requests" | "max_uses_exceeded" | "unavailable";
2937
+ /** WebFetchTool_20250910 */
2938
+ WebFetchTool_20250910: {
2939
+ /** Allowed Callers */
2940
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
2941
+ /**
2942
+ * Allowed Domains
2943
+ * @description List of domains to allow fetching from
2944
+ */
2945
+ allowed_domains?: string[] | null;
2946
+ /**
2947
+ * Blocked Domains
2948
+ * @description List of domains to block fetching from
2949
+ */
2950
+ blocked_domains?: string[] | null;
2951
+ /**
2952
+ * Cache Control
2953
+ * @description Create a cache control breakpoint at this content block.
2954
+ */
2955
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
2956
+ /** @description Citations configuration for fetched documents. Citations are disabled by default. */
2957
+ citations?: components["schemas"]["RequestCitationsConfig"] | null;
2958
+ /**
2959
+ * Defer Loading
2960
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
2961
+ */
2962
+ defer_loading?: boolean;
2963
+ /**
2964
+ * Max Content Tokens
2965
+ * @description Maximum number of tokens used by including web page text content in the context. The limit is approximate and does not apply to binary content such as PDFs.
2966
+ */
2967
+ max_content_tokens?: number | null;
2968
+ /**
2969
+ * Max Uses
2970
+ * @description Maximum number of times the tool can be used in the API request.
2971
+ */
2972
+ max_uses?: number | null;
2973
+ /**
2974
+ * Name
2975
+ * @description Name of the tool.
2976
+ *
2977
+ * This is how the tool will be called by the model and in `tool_use` blocks.
2978
+ * @constant
2979
+ */
2980
+ name: "web_fetch";
2981
+ /**
2982
+ * Strict
2983
+ * @description When true, guarantees schema validation on tool names and inputs
2984
+ */
2985
+ strict?: boolean;
2986
+ /**
2987
+ * Type
2988
+ * @constant
2989
+ */
2990
+ type: "web_fetch_20250910";
2991
+ };
2992
+ /** WebFetchTool_20260209 */
2993
+ WebFetchTool_20260209: {
2994
+ /** Allowed Callers */
2995
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
2996
+ /**
2997
+ * Allowed Domains
2998
+ * @description List of domains to allow fetching from
2999
+ */
3000
+ allowed_domains?: string[] | null;
3001
+ /**
3002
+ * Blocked Domains
3003
+ * @description List of domains to block fetching from
3004
+ */
3005
+ blocked_domains?: string[] | null;
3006
+ /**
3007
+ * Cache Control
3008
+ * @description Create a cache control breakpoint at this content block.
3009
+ */
3010
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
3011
+ /** @description Citations configuration for fetched documents. Citations are disabled by default. */
3012
+ citations?: components["schemas"]["RequestCitationsConfig"] | null;
3013
+ /**
3014
+ * Defer Loading
3015
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
3016
+ */
3017
+ defer_loading?: boolean;
3018
+ /**
3019
+ * Max Content Tokens
3020
+ * @description Maximum number of tokens used by including web page text content in the context. The limit is approximate and does not apply to binary content such as PDFs.
3021
+ */
3022
+ max_content_tokens?: number | null;
3023
+ /**
3024
+ * Max Uses
3025
+ * @description Maximum number of times the tool can be used in the API request.
3026
+ */
3027
+ max_uses?: number | null;
3028
+ /**
3029
+ * Name
3030
+ * @description Name of the tool.
3031
+ *
3032
+ * This is how the tool will be called by the model and in `tool_use` blocks.
3033
+ * @constant
3034
+ */
3035
+ name: "web_fetch";
3036
+ /**
3037
+ * Strict
3038
+ * @description When true, guarantees schema validation on tool names and inputs
3039
+ */
3040
+ strict?: boolean;
3041
+ /**
3042
+ * Type
3043
+ * @constant
3044
+ */
3045
+ type: "web_fetch_20260209";
3046
+ };
3047
+ /**
3048
+ * WebFetchTool_20260309
3049
+ * @description Web fetch tool with use_cache parameter for bypassing cached content.
3050
+ */
3051
+ WebFetchTool_20260309: {
3052
+ /** Allowed Callers */
3053
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
3054
+ /**
3055
+ * Allowed Domains
3056
+ * @description List of domains to allow fetching from
3057
+ */
3058
+ allowed_domains?: string[] | null;
3059
+ /**
3060
+ * Blocked Domains
3061
+ * @description List of domains to block fetching from
3062
+ */
3063
+ blocked_domains?: string[] | null;
3064
+ /**
3065
+ * Cache Control
3066
+ * @description Create a cache control breakpoint at this content block.
3067
+ */
3068
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
3069
+ /** @description Citations configuration for fetched documents. Citations are disabled by default. */
3070
+ citations?: components["schemas"]["RequestCitationsConfig"] | null;
3071
+ /**
3072
+ * Defer Loading
3073
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
3074
+ */
3075
+ defer_loading?: boolean;
3076
+ /**
3077
+ * Max Content Tokens
3078
+ * @description Maximum number of tokens used by including web page text content in the context. The limit is approximate and does not apply to binary content such as PDFs.
3079
+ */
3080
+ max_content_tokens?: number | null;
3081
+ /**
3082
+ * Max Uses
3083
+ * @description Maximum number of times the tool can be used in the API request.
3084
+ */
3085
+ max_uses?: number | null;
3086
+ /**
3087
+ * Name
3088
+ * @description Name of the tool.
3089
+ *
3090
+ * This is how the tool will be called by the model and in `tool_use` blocks.
3091
+ * @constant
3092
+ */
3093
+ name: "web_fetch";
3094
+ /**
3095
+ * Strict
3096
+ * @description When true, guarantees schema validation on tool names and inputs
3097
+ */
3098
+ strict?: boolean;
3099
+ /**
3100
+ * Type
3101
+ * @constant
3102
+ */
3103
+ type: "web_fetch_20260309";
3104
+ /**
3105
+ * Use Cache
3106
+ * @description Whether to use cached content. Set to false to bypass the cache and fetch fresh content. Only set to false when the user explicitly requests fresh content or when fetching rapidly-changing sources.
3107
+ */
3108
+ use_cache?: boolean;
3109
+ };
3110
+ /**
3111
+ * WebSearchToolResultErrorCode
3112
+ * @enum {string}
3113
+ */
3114
+ WebSearchToolResultErrorCode: "invalid_tool_input" | "unavailable" | "max_uses_exceeded" | "too_many_requests" | "query_too_long" | "request_too_large";
3115
+ /** WebSearchTool_20250305 */
3116
+ WebSearchTool_20250305: {
3117
+ /** Allowed Callers */
3118
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
3119
+ /**
3120
+ * Allowed Domains
3121
+ * @description If provided, only these domains will be included in results. Cannot be used alongside `blocked_domains`.
3122
+ */
3123
+ allowed_domains?: string[] | null;
3124
+ /**
3125
+ * Blocked Domains
3126
+ * @description If provided, these domains will never appear in results. Cannot be used alongside `allowed_domains`.
3127
+ */
3128
+ blocked_domains?: string[] | null;
3129
+ /**
3130
+ * Cache Control
3131
+ * @description Create a cache control breakpoint at this content block.
3132
+ */
3133
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
3134
+ /**
3135
+ * Defer Loading
3136
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
3137
+ */
3138
+ defer_loading?: boolean;
3139
+ /**
3140
+ * Max Uses
3141
+ * @description Maximum number of times the tool can be used in the API request.
3142
+ */
3143
+ max_uses?: number | null;
3144
+ /**
3145
+ * Name
3146
+ * @description Name of the tool.
3147
+ *
3148
+ * This is how the tool will be called by the model and in `tool_use` blocks.
3149
+ * @constant
3150
+ */
3151
+ name: "web_search";
3152
+ /**
3153
+ * Strict
3154
+ * @description When true, guarantees schema validation on tool names and inputs
3155
+ */
3156
+ strict?: boolean;
3157
+ /**
3158
+ * Type
3159
+ * @constant
3160
+ */
3161
+ type: "web_search_20250305";
3162
+ /** @description Parameters for the user's location. Used to provide more relevant search results. */
3163
+ user_location?: components["schemas"]["UserLocation"] | null;
3164
+ };
3165
+ /** WebSearchTool_20260209 */
3166
+ WebSearchTool_20260209: {
3167
+ /** Allowed Callers */
3168
+ allowed_callers?: components["schemas"]["AllowedCaller"][];
3169
+ /**
3170
+ * Allowed Domains
3171
+ * @description If provided, only these domains will be included in results. Cannot be used alongside `blocked_domains`.
3172
+ */
3173
+ allowed_domains?: string[] | null;
3174
+ /**
3175
+ * Blocked Domains
3176
+ * @description If provided, these domains will never appear in results. Cannot be used alongside `allowed_domains`.
3177
+ */
3178
+ blocked_domains?: string[] | null;
3179
+ /**
3180
+ * Cache Control
3181
+ * @description Create a cache control breakpoint at this content block.
3182
+ */
3183
+ cache_control?: components["schemas"]["CacheControlEphemeral"] | null;
3184
+ /**
3185
+ * Defer Loading
3186
+ * @description If true, tool will not be included in initial system prompt. Only loaded when returned via tool_reference from tool search.
3187
+ */
3188
+ defer_loading?: boolean;
3189
+ /**
3190
+ * Max Uses
3191
+ * @description Maximum number of times the tool can be used in the API request.
3192
+ */
3193
+ max_uses?: number | null;
3194
+ /**
3195
+ * Name
3196
+ * @description Name of the tool.
3197
+ *
3198
+ * This is how the tool will be called by the model and in `tool_use` blocks.
3199
+ * @constant
3200
+ */
3201
+ name: "web_search";
3202
+ /**
3203
+ * Strict
3204
+ * @description When true, guarantees schema validation on tool names and inputs
3205
+ */
3206
+ strict?: boolean;
3207
+ /**
3208
+ * Type
3209
+ * @constant
3210
+ */
3211
+ type: "web_search_20260209";
3212
+ /** @description Parameters for the user's location. Used to provide more relevant search results. */
3213
+ user_location?: components["schemas"]["UserLocation"] | null;
3214
+ };
3215
+ AnthropicBeta: string | ("message-batches-2024-09-24" | "prompt-caching-2024-07-31" | "computer-use-2024-10-22" | "computer-use-2025-01-24" | "pdfs-2024-09-25" | "token-counting-2024-11-01" | "token-efficient-tools-2025-02-19" | "output-128k-2025-02-19" | "files-api-2025-04-14" | "mcp-client-2025-04-04" | "mcp-client-2025-11-20" | "dev-full-thinking-2025-05-14" | "interleaved-thinking-2025-05-14" | "code-execution-2025-05-22" | "extended-cache-ttl-2025-04-11" | "context-1m-2025-08-07" | "context-management-2025-06-27" | "model-context-window-exceeded-2025-08-26" | "skills-2025-10-02" | "fast-mode-2026-02-01" | "output-300k-2026-03-24" | "advisor-tool-2026-03-01");
3216
+ /**
3217
+ * Thinking
3218
+ * @description Configuration for enabling Claude's extended thinking.
3219
+ *
3220
+ * When enabled, responses include `thinking` content blocks showing Claude's thinking process before the final answer. Requires a minimum budget of 1,024 tokens and counts towards your `max_tokens` limit.
3221
+ *
3222
+ * See [extended thinking](https://docs.claude.com/en/docs/build-with-claude/extended-thinking) for details.
3223
+ * @example {
3224
+ * "type": "adaptive"
3225
+ * }
3226
+ */
3227
+ ThinkingConfigParam: components["schemas"]["ThinkingConfigEnabled"] | components["schemas"]["ThinkingConfigDisabled"] | components["schemas"]["ThinkingConfigAdaptive"];
3228
+ /**
3229
+ * Tool Choice
3230
+ * @description How the model should use the provided tools. The model can use a specific tool, any available tool, decide by itself, or not use tools at all.
3231
+ */
3232
+ ToolChoice: components["schemas"]["ToolChoiceAuto"] | components["schemas"]["ToolChoiceAny"] | components["schemas"]["ToolChoiceTool"] | components["schemas"]["ToolChoiceNone"];
3233
+ ContentBlock: components["schemas"]["ResponseTextBlock"] | components["schemas"]["ResponseThinkingBlock"] | components["schemas"]["ResponseRedactedThinkingBlock"] | components["schemas"]["ResponseToolUseBlock"] | components["schemas"]["ResponseServerToolUseBlock"] | components["schemas"]["ResponseWebSearchToolResultBlock"] | components["schemas"]["ResponseWebFetchToolResultBlock"] | components["schemas"]["ResponseCodeExecutionToolResultBlock"] | components["schemas"]["ResponseBashCodeExecutionToolResultBlock"] | components["schemas"]["ResponseTextEditorCodeExecutionToolResultBlock"] | components["schemas"]["ResponseToolSearchToolResultBlock"] | components["schemas"]["ResponseContainerUploadBlock"];
3234
+ InputContentBlock: components["schemas"]["RequestTextBlock"] | components["schemas"]["RequestImageBlock"] | components["schemas"]["RequestDocumentBlock"] | components["schemas"]["RequestSearchResultBlock"] | components["schemas"]["RequestThinkingBlock"] | components["schemas"]["RequestRedactedThinkingBlock"] | components["schemas"]["RequestToolUseBlock"] | components["schemas"]["RequestToolResultBlock"] | components["schemas"]["RequestServerToolUseBlock"] | components["schemas"]["RequestWebSearchToolResultBlock"] | components["schemas"]["RequestWebFetchToolResultBlock"] | components["schemas"]["RequestCodeExecutionToolResultBlock"] | components["schemas"]["RequestBashCodeExecutionToolResultBlock"] | components["schemas"]["RequestTextEditorCodeExecutionToolResultBlock"] | components["schemas"]["RequestToolSearchToolResultBlock"] | components["schemas"]["RequestContainerUploadBlock"];
3235
+ /** @enum {string} */
3236
+ StopReason: "end_turn" | "max_tokens" | "stop_sequence" | "tool_use" | "pause_turn" | "refusal";
3237
+ /**
3238
+ * Model
3239
+ * @description The model that will complete your prompt.\n\nSee [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
3240
+ */
3241
+ Model: string | "claude-mythos-preview" | "claude-opus-4-6" | "claude-sonnet-4-6" | "claude-haiku-4-5" | "claude-haiku-4-5-20251001" | "claude-opus-4-5" | "claude-opus-4-5-20251101" | "claude-sonnet-4-5" | "claude-sonnet-4-5-20250929" | "claude-opus-4-1" | "claude-opus-4-1-20250805" | "claude-opus-4-0" | "claude-opus-4-20250514" | "claude-sonnet-4-0" | "claude-sonnet-4-20250514" | "claude-3-haiku-20240307";
3242
+ };
3243
+ responses: never;
3244
+ parameters: never;
3245
+ requestBodies: never;
3246
+ headers: never;
3247
+ pathItems: never;
3248
+ }
3249
+ export type $defs = Record<string, never>;
3250
+ export interface operations {
3251
+ messages_post: {
3252
+ parameters: {
3253
+ query?: never;
3254
+ header?: {
3255
+ /** @description The version of the Claude API you want to use.
3256
+ *
3257
+ * Read more about versioning and our version history [here](https://docs.claude.com/en/api/versioning). */
3258
+ "anthropic-version"?: string;
3259
+ };
3260
+ path?: never;
3261
+ cookie?: never;
3262
+ };
3263
+ requestBody: {
3264
+ content: {
3265
+ "application/json": components["schemas"]["CreateMessageParams"];
3266
+ };
3267
+ };
3268
+ responses: {
3269
+ /** @description Message object. */
3270
+ 200: {
3271
+ headers: {
3272
+ [name: string]: unknown;
3273
+ };
3274
+ content: {
3275
+ "application/json": components["schemas"]["Message"];
3276
+ };
3277
+ };
3278
+ /** @description Error response.
3279
+ *
3280
+ * See our [errors documentation](https://docs.claude.com/en/api/errors) for more details. */
3281
+ "4XX": {
3282
+ headers: {
3283
+ [name: string]: unknown;
3284
+ };
3285
+ content: {
3286
+ "application/json": components["schemas"]["ErrorResponse"];
3287
+ };
3288
+ };
3289
+ };
3290
+ };
3291
+ models_list: {
3292
+ parameters: {
3293
+ query?: {
3294
+ /** @description ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object. */
3295
+ before_id?: string;
3296
+ /** @description ID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object. */
3297
+ after_id?: string;
3298
+ /** @description Number of items to return per page.
3299
+ *
3300
+ * Defaults to `20`. Ranges from `1` to `1000`. */
3301
+ limit?: number;
3302
+ };
3303
+ header?: {
3304
+ /** @description The version of the Claude API you want to use.
3305
+ *
3306
+ * Read more about versioning and our version history [here](https://docs.claude.com/en/api/versioning). */
3307
+ "anthropic-version"?: string;
3308
+ /** @description Your unique API key for authentication.
3309
+ *
3310
+ * This key is required in the header of all API requests, to authenticate your account and access Anthropic's services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace. */
3311
+ "x-api-key"?: string;
3312
+ /** @description Optional header to specify the beta version(s) you want to use.
3313
+ *
3314
+ * To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta. */
3315
+ "anthropic-beta"?: string;
3316
+ };
3317
+ path?: never;
3318
+ cookie?: never;
3319
+ };
3320
+ requestBody?: never;
3321
+ responses: {
3322
+ /** @description Successful Response */
3323
+ 200: {
3324
+ headers: {
3325
+ [name: string]: unknown;
3326
+ };
3327
+ content: {
3328
+ "application/json": components["schemas"]["ListResponse_ModelInfo_"];
3329
+ };
3330
+ };
3331
+ /** @description Error response.
3332
+ *
3333
+ * See our [errors documentation](https://docs.claude.com/en/api/errors) for more details. */
3334
+ "4XX": {
3335
+ headers: {
3336
+ [name: string]: unknown;
3337
+ };
3338
+ content: {
3339
+ "application/json": components["schemas"]["ErrorResponse"];
3340
+ };
3341
+ };
3342
+ };
3343
+ };
3344
+ models_get: {
3345
+ parameters: {
3346
+ query?: never;
3347
+ header?: {
3348
+ /** @description The version of the Claude API you want to use.
3349
+ *
3350
+ * Read more about versioning and our version history [here](https://docs.claude.com/en/api/versioning). */
3351
+ "anthropic-version"?: string;
3352
+ /** @description Your unique API key for authentication.
3353
+ *
3354
+ * This key is required in the header of all API requests, to authenticate your account and access Anthropic's services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace. */
3355
+ "x-api-key"?: string;
3356
+ /** @description Optional header to specify the beta version(s) you want to use.
3357
+ *
3358
+ * To use multiple betas, use a comma separated list like `beta1,beta2` or specify the header multiple times for each beta. */
3359
+ "anthropic-beta"?: string;
3360
+ };
3361
+ path: {
3362
+ /** @description Model identifier or alias. */
3363
+ model_id: string;
3364
+ };
3365
+ cookie?: never;
3366
+ };
3367
+ requestBody?: never;
3368
+ responses: {
3369
+ /** @description Successful Response */
3370
+ 200: {
3371
+ headers: {
3372
+ [name: string]: unknown;
3373
+ };
3374
+ content: {
3375
+ "application/json": components["schemas"]["ModelInfo"];
3376
+ };
3377
+ };
3378
+ /** @description Error response.
3379
+ *
3380
+ * See our [errors documentation](https://docs.claude.com/en/api/errors) for more details. */
3381
+ "4XX": {
3382
+ headers: {
3383
+ [name: string]: unknown;
3384
+ };
3385
+ content: {
3386
+ "application/json": components["schemas"]["ErrorResponse"];
3387
+ };
3388
+ };
3389
+ };
3390
+ };
3391
+ }