Class MessageCountTokensParams.Builder
-
- All Implemented Interfaces:
public final class MessageCountTokensParams.BuilderA builder for MessageCountTokensParams.
-
-
Method Summary
-
-
Method Detail
-
betas
final MessageCountTokensParams.Builder betas(List<AnthropicBeta> betas)
Optional header to specify the beta version(s) you want to use.
-
betas
final MessageCountTokensParams.Builder betas(Optional<List<AnthropicBeta>> betas)
Alias for calling Builder.betas with
betas.orElse(null).
-
addBeta
final MessageCountTokensParams.Builder addBeta(AnthropicBeta beta)
Adds a single AnthropicBeta to betas.
-
addBeta
final MessageCountTokensParams.Builder addBeta(String value)
Sets addBeta to an arbitrary String.
You should usually call addBeta with a well-typed AnthropicBeta constant instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
body
final MessageCountTokensParams.Builder body(MessageCountTokensParams.Body body)
Sets the entire request body.
This is generally only useful if you are already constructing the body separately. Otherwise, it's more convenient to use the top-level setters instead:
-
messages
final MessageCountTokensParams.Builder messages(List<BetaMessageParam> messages)
Input messages.
Our models are trained to operate on alternating
userandassistantconversational turns. When creating a newMessage, you specify the prior conversational turns with themessagesparameter, and the model then generates the nextMessagein the conversation. Consecutiveuserorassistantturns in your request will be combined into a single turn.Each input message must be an object with a
roleandcontent. You can specify a singleuser-role message, or you can include multipleuserandassistantmessages.If the final message uses the
assistantrole, the response content will continue immediately from the content in that message. This can be used to constrain part of the model's response.Example with a single
usermessage:[{"role": "user", "content": "Hello, Claude"}]Example with multiple conversational turns:
[ {"role": "user", "content": "Hello there."}, {"role": "assistant", "content": "Hi, I'm Claude. How can I help you?"}, {"role": "user", "content": "Can you explain LLMs in plain English?"}, ]Example with a partially-filled response from Claude:
[ {"role": "user", "content": "What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun"}, {"role": "assistant", "content": "The best answer is ("}, ]Each input message
contentmay be either a singlestringor an array of content blocks, where each block has a specifictype. Using astringforcontentis shorthand for an array of one content block of type"text". The following input messages are equivalent:{"role": "user", "content": "Hello, Claude"}{"role": "user", "content": [{"type": "text", "text": "Hello, Claude"}]}See input examples.
Note that if you want to include a system prompt, you can use the top-level
systemparameter — there is no"system"role for input messages in the Messages API.There is a limit of 100,000 messages in a single request.
-
messages
final MessageCountTokensParams.Builder messages(JsonField<List<BetaMessageParam>> messages)
Sets Builder.messages to an arbitrary JSON value.
You should usually call Builder.messages with a well-typed
List<BetaMessageParam>value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
addMessage
final MessageCountTokensParams.Builder addMessage(BetaMessageParam message)
Adds a single BetaMessageParam to messages.
-
addMessage
final MessageCountTokensParams.Builder addMessage(BetaMessage message)
Alias for calling addMessage with
message.toParam().
-
addUserMessage
final MessageCountTokensParams.Builder addUserMessage(BetaMessageParam.Content content)
Alias for calling addMessage with the following:
BetaMessageParam.builder() .role(BetaMessageParam.Role.USER) .content(content) .build()
-
addUserMessage
final MessageCountTokensParams.Builder addUserMessage(String string)
Alias for calling addUserMessage with
BetaMessageParam.Content.ofString(string).
-
addUserMessageOfBetaContentBlockParams
final MessageCountTokensParams.Builder addUserMessageOfBetaContentBlockParams(List<BetaContentBlockParam> betaContentBlockParams)
Alias for calling addUserMessage with
BetaMessageParam.Content.ofBetaContentBlockParams(betaContentBlockParams).
-
addAssistantMessage
final MessageCountTokensParams.Builder addAssistantMessage(BetaMessageParam.Content content)
Alias for calling addMessage with the following:
BetaMessageParam.builder() .role(BetaMessageParam.Role.ASSISTANT) .content(content) .build()
-
addAssistantMessage
final MessageCountTokensParams.Builder addAssistantMessage(String string)
Alias for calling addAssistantMessage with
BetaMessageParam.Content.ofString(string).
-
addAssistantMessageOfBetaContentBlockParams
final MessageCountTokensParams.Builder addAssistantMessageOfBetaContentBlockParams(List<BetaContentBlockParam> betaContentBlockParams)
Alias for calling addAssistantMessage with
BetaMessageParam.Content.ofBetaContentBlockParams(betaContentBlockParams).
-
model
final MessageCountTokensParams.Builder model(Model model)
The model that will complete your prompt.\n\nSee models for additional details and options.
-
model
final MessageCountTokensParams.Builder model(JsonField<Model> model)
Sets Builder.model to an arbitrary JSON value.
You should usually call Builder.model with a well-typed Model value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
model
final MessageCountTokensParams.Builder model(String value)
Sets model to an arbitrary String.
You should usually call model with a well-typed Model constant instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
cacheControl
final MessageCountTokensParams.Builder cacheControl(BetaCacheControlEphemeral cacheControl)
Top-level cache control automatically applies a cache_control marker to the last cacheable block in the request.
-
cacheControl
final MessageCountTokensParams.Builder cacheControl(Optional<BetaCacheControlEphemeral> cacheControl)
Alias for calling Builder.cacheControl with
cacheControl.orElse(null).
-
cacheControl
final MessageCountTokensParams.Builder cacheControl(JsonField<BetaCacheControlEphemeral> cacheControl)
Sets Builder.cacheControl to an arbitrary JSON value.
You should usually call Builder.cacheControl with a well-typed BetaCacheControlEphemeral value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
contextManagement
final MessageCountTokensParams.Builder contextManagement(BetaContextManagementConfig contextManagement)
Context management configuration.
This allows you to control how Claude manages context across multiple requests, such as whether to clear function results or not.
-
contextManagement
final MessageCountTokensParams.Builder contextManagement(Optional<BetaContextManagementConfig> contextManagement)
Alias for calling Builder.contextManagement with
contextManagement.orElse(null).
-
contextManagement
final MessageCountTokensParams.Builder contextManagement(JsonField<BetaContextManagementConfig> contextManagement)
Sets Builder.contextManagement to an arbitrary JSON value.
You should usually call Builder.contextManagement with a well-typed BetaContextManagementConfig value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
mcpServers
final MessageCountTokensParams.Builder mcpServers(List<BetaRequestMcpServerUrlDefinition> mcpServers)
MCP servers to be utilized in this request
-
mcpServers
final MessageCountTokensParams.Builder mcpServers(JsonField<List<BetaRequestMcpServerUrlDefinition>> mcpServers)
Sets Builder.mcpServers to an arbitrary JSON value.
You should usually call Builder.mcpServers with a well-typed
List<BetaRequestMcpServerUrlDefinition>value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
addMcpServer
final MessageCountTokensParams.Builder addMcpServer(BetaRequestMcpServerUrlDefinition mcpServer)
Adds a single BetaRequestMcpServerUrlDefinition to mcpServers.
-
outputConfig
final MessageCountTokensParams.Builder outputConfig(BetaOutputConfig outputConfig)
Configuration options for the model's output, such as the output format.
-
outputConfig
final MessageCountTokensParams.Builder outputConfig(JsonField<BetaOutputConfig> outputConfig)
Sets Builder.outputConfig to an arbitrary JSON value.
You should usually call Builder.outputConfig with a well-typed BetaOutputConfig value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
outputFormat
@Deprecated(message = "deprecated") final MessageCountTokensParams.Builder outputFormat(BetaJsonOutputFormat outputFormat)
Deprecated: Use
output_config.formatinstead. See structured outputsA schema to specify Claude's output format in responses. This parameter will be removed in a future release.
-
outputFormat
@Deprecated(message = "deprecated") final MessageCountTokensParams.Builder outputFormat(Optional<BetaJsonOutputFormat> outputFormat)
Alias for calling Builder.outputFormat with
outputFormat.orElse(null).
-
outputFormat
@Deprecated(message = "deprecated") final MessageCountTokensParams.Builder outputFormat(JsonField<BetaJsonOutputFormat> outputFormat)
Sets Builder.outputFormat to an arbitrary JSON value.
You should usually call Builder.outputFormat with a well-typed BetaJsonOutputFormat value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
speed
final MessageCountTokensParams.Builder speed(MessageCountTokensParams.Speed speed)
The inference speed mode for this request.
"fast"enables high output-tokens-per-second inference.
-
speed
final MessageCountTokensParams.Builder speed(Optional<MessageCountTokensParams.Speed> speed)
Alias for calling Builder.speed with
speed.orElse(null).
-
speed
final MessageCountTokensParams.Builder speed(JsonField<MessageCountTokensParams.Speed> speed)
Sets Builder.speed to an arbitrary JSON value.
You should usually call Builder.speed with a well-typed Speed value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
system
final MessageCountTokensParams.Builder system(MessageCountTokensParams.System system)
System prompt.
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.
-
system
final MessageCountTokensParams.Builder system(JsonField<MessageCountTokensParams.System> system)
Sets Builder.system to an arbitrary JSON value.
You should usually call Builder.system with a well-typed System value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
system
final MessageCountTokensParams.Builder system(String string)
Alias for calling system with
System.ofString(string).
-
systemOfBetaTextBlockParams
final MessageCountTokensParams.Builder systemOfBetaTextBlockParams(List<BetaTextBlockParam> betaTextBlockParams)
Alias for calling system with
System.ofBetaTextBlockParams(betaTextBlockParams).
-
thinking
final MessageCountTokensParams.Builder thinking(BetaThinkingConfigParam thinking)
Configuration for enabling Claude's extended thinking.
When enabled, responses include
thinkingcontent blocks showing Claude's thinking process before the final answer. Requires a minimum budget of 1,024 tokens and counts towards yourmax_tokenslimit.See extended thinking for details.
-
thinking
final MessageCountTokensParams.Builder thinking(JsonField<BetaThinkingConfigParam> thinking)
Sets Builder.thinking to an arbitrary JSON value.
You should usually call Builder.thinking with a well-typed BetaThinkingConfigParam value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
thinking
final MessageCountTokensParams.Builder thinking(BetaThinkingConfigEnabled enabled)
Alias for calling thinking with
BetaThinkingConfigParam.ofEnabled(enabled).
-
thinking
final MessageCountTokensParams.Builder thinking(BetaThinkingConfigDisabled disabled)
Alias for calling thinking with
BetaThinkingConfigParam.ofDisabled(disabled).
-
thinking
final MessageCountTokensParams.Builder thinking(BetaThinkingConfigAdaptive adaptive)
Alias for calling thinking with
BetaThinkingConfigParam.ofAdaptive(adaptive).
-
enabledThinking
final MessageCountTokensParams.Builder enabledThinking(Long budgetTokens)
Alias for calling thinking with the following:
BetaThinkingConfigEnabled.builder() .budgetTokens(budgetTokens) .build()
-
toolChoice
final MessageCountTokensParams.Builder toolChoice(BetaToolChoice toolChoice)
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.
-
toolChoice
final MessageCountTokensParams.Builder toolChoice(JsonField<BetaToolChoice> toolChoice)
Sets Builder.toolChoice to an arbitrary JSON value.
You should usually call Builder.toolChoice with a well-typed BetaToolChoice value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
toolChoice
final MessageCountTokensParams.Builder toolChoice(BetaToolChoiceAuto auto)
Alias for calling toolChoice with
BetaToolChoice.ofAuto(auto).
-
toolChoice
final MessageCountTokensParams.Builder toolChoice(BetaToolChoiceAny any)
Alias for calling toolChoice with
BetaToolChoice.ofAny(any).
-
toolChoice
final MessageCountTokensParams.Builder toolChoice(BetaToolChoiceTool tool)
Alias for calling toolChoice with
BetaToolChoice.ofTool(tool).
-
toolChoice
final MessageCountTokensParams.Builder toolChoice(BetaToolChoiceNone none)
Alias for calling toolChoice with
BetaToolChoice.ofNone(none).
-
toolToolChoice
final MessageCountTokensParams.Builder toolToolChoice(String name)
Alias for calling toolChoice with the following:
BetaToolChoiceTool.builder() .name(name) .build()
-
tools
final MessageCountTokensParams.Builder tools(List<MessageCountTokensParams.Tool> tools)
Definitions of tools that the model may use.
If you include
toolsin your API request, the model may returntool_usecontent 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 usingtool_resultcontent blocks.There are two types of tools: client tools and server tools. The behavior described below applies to client tools. For server tools, see their individual documentation as each has its own behavior (e.g., the web search tool).
Each tool definition includes:
name: Name of the tool.description: Optional, but strongly-recommended description of the tool.input_schema: JSON schema for the toolinputshape that the model will produce intool_useoutput content blocks.
For example, if you defined
toolsas:[ { "name": "get_stock_price", "description": "Get the current stock price for a given ticker symbol.", "input_schema": { "type": "object", "properties": { "ticker": { "type": "string", "description": "The stock ticker symbol, e.g. AAPL for Apple Inc." } }, "required": ["ticker"] } } ]And then asked the model "What's the S&P 500 at today?", the model might produce
tool_usecontent blocks in the response like this:[ { "type": "tool_use", "id": "toolu_01D7FLrfh4GYq7yT1ULFeyMV", "name": "get_stock_price", "input": { "ticker": "^GSPC" } } ]You might then run your
get_stock_pricetool with{"ticker": "^GSPC"}as an input, and return the following back to the model in a subsequentusermessage:[ { "type": "tool_result", "tool_use_id": "toolu_01D7FLrfh4GYq7yT1ULFeyMV", "content": "259.75 USD" } ]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.
See our guide for more details.
-
tools
final MessageCountTokensParams.Builder tools(JsonField<List<MessageCountTokensParams.Tool>> tools)
Sets Builder.tools to an arbitrary JSON value.
You should usually call Builder.tools with a well-typed
List<Tool>value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
addTool
final MessageCountTokensParams.Builder addTool(MessageCountTokensParams.Tool tool)
-
addTool
final MessageCountTokensParams.Builder addTool(BetaTool beta)
Alias for calling addTool with
Tool.ofBeta(beta).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolBash20241022 betaToolBash20241022)
Alias for calling addTool with
Tool.ofBetaToolBash20241022(betaToolBash20241022).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolBash20250124 betaToolBash20250124)
Alias for calling addTool with
Tool.ofBetaToolBash20250124(betaToolBash20250124).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaCodeExecutionTool20250522 betaCodeExecutionTool20250522)
Alias for calling addTool with
Tool.ofBetaCodeExecutionTool20250522(betaCodeExecutionTool20250522).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaCodeExecutionTool20250825 betaCodeExecutionTool20250825)
Alias for calling addTool with
Tool.ofBetaCodeExecutionTool20250825(betaCodeExecutionTool20250825).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaCodeExecutionTool20260120 betaCodeExecutionTool20260120)
Alias for calling addTool with
Tool.ofBetaCodeExecutionTool20260120(betaCodeExecutionTool20260120).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolComputerUse20241022 betaToolComputerUse20241022)
Alias for calling addTool with
Tool.ofBetaToolComputerUse20241022(betaToolComputerUse20241022).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaMemoryTool20250818 betaMemoryTool20250818)
Alias for calling addTool with
Tool.ofBetaMemoryTool20250818(betaMemoryTool20250818).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolComputerUse20250124 betaToolComputerUse20250124)
Alias for calling addTool with
Tool.ofBetaToolComputerUse20250124(betaToolComputerUse20250124).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolTextEditor20241022 betaToolTextEditor20241022)
Alias for calling addTool with
Tool.ofBetaToolTextEditor20241022(betaToolTextEditor20241022).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolComputerUse20251124 betaToolComputerUse20251124)
Alias for calling addTool with
Tool.ofBetaToolComputerUse20251124(betaToolComputerUse20251124).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolTextEditor20250124 betaToolTextEditor20250124)
Alias for calling addTool with
Tool.ofBetaToolTextEditor20250124(betaToolTextEditor20250124).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolTextEditor20250429 betaToolTextEditor20250429)
Alias for calling addTool with
Tool.ofBetaToolTextEditor20250429(betaToolTextEditor20250429).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolTextEditor20250728 betaToolTextEditor20250728)
Alias for calling addTool with
Tool.ofBetaToolTextEditor20250728(betaToolTextEditor20250728).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaWebSearchTool20250305 betaWebSearchTool20250305)
Alias for calling addTool with
Tool.ofBetaWebSearchTool20250305(betaWebSearchTool20250305).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaWebFetchTool20250910 betaWebFetchTool20250910)
Alias for calling addTool with
Tool.ofBetaWebFetchTool20250910(betaWebFetchTool20250910).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaWebSearchTool20260209 betaWebSearchTool20260209)
Alias for calling addTool with
Tool.ofBetaWebSearchTool20260209(betaWebSearchTool20260209).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaWebFetchTool20260209 betaWebFetchTool20260209)
Alias for calling addTool with
Tool.ofBetaWebFetchTool20260209(betaWebFetchTool20260209).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaWebFetchTool20260309 betaWebFetchTool20260309)
Alias for calling addTool with
Tool.ofBetaWebFetchTool20260309(betaWebFetchTool20260309).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolSearchToolBm25_20251119 betaToolSearchToolBm25_20251119)
Alias for calling addTool with
Tool.ofBetaToolSearchToolBm25_20251119(betaToolSearchToolBm25_20251119).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaToolSearchToolRegex20251119 betaToolSearchToolRegex20251119)
Alias for calling addTool with
Tool.ofBetaToolSearchToolRegex20251119(betaToolSearchToolRegex20251119).
-
addTool
final MessageCountTokensParams.Builder addTool(BetaMcpToolset betaMcpToolset)
Alias for calling addTool with
Tool.ofBetaMcpToolset(betaMcpToolset).
-
additionalBodyProperties
final MessageCountTokensParams.Builder additionalBodyProperties(Map<String, JsonValue> additionalBodyProperties)
-
putAdditionalBodyProperty
final MessageCountTokensParams.Builder putAdditionalBodyProperty(String key, JsonValue value)
-
putAllAdditionalBodyProperties
final MessageCountTokensParams.Builder putAllAdditionalBodyProperties(Map<String, JsonValue> additionalBodyProperties)
-
removeAdditionalBodyProperty
final MessageCountTokensParams.Builder removeAdditionalBodyProperty(String key)
-
removeAllAdditionalBodyProperties
final MessageCountTokensParams.Builder removeAllAdditionalBodyProperties(Set<String> keys)
-
additionalHeaders
final MessageCountTokensParams.Builder additionalHeaders(Headers additionalHeaders)
-
additionalHeaders
final MessageCountTokensParams.Builder additionalHeaders(Map<String, Iterable<String>> additionalHeaders)
-
putAdditionalHeader
final MessageCountTokensParams.Builder putAdditionalHeader(String name, String value)
-
putAdditionalHeaders
final MessageCountTokensParams.Builder putAdditionalHeaders(String name, Iterable<String> values)
-
putAllAdditionalHeaders
final MessageCountTokensParams.Builder putAllAdditionalHeaders(Headers additionalHeaders)
-
putAllAdditionalHeaders
final MessageCountTokensParams.Builder putAllAdditionalHeaders(Map<String, Iterable<String>> additionalHeaders)
-
replaceAdditionalHeaders
final MessageCountTokensParams.Builder replaceAdditionalHeaders(String name, String value)
-
replaceAdditionalHeaders
final MessageCountTokensParams.Builder replaceAdditionalHeaders(String name, Iterable<String> values)
-
replaceAllAdditionalHeaders
final MessageCountTokensParams.Builder replaceAllAdditionalHeaders(Headers additionalHeaders)
-
replaceAllAdditionalHeaders
final MessageCountTokensParams.Builder replaceAllAdditionalHeaders(Map<String, Iterable<String>> additionalHeaders)
-
removeAdditionalHeaders
final MessageCountTokensParams.Builder removeAdditionalHeaders(String name)
-
removeAllAdditionalHeaders
final MessageCountTokensParams.Builder removeAllAdditionalHeaders(Set<String> names)
-
additionalQueryParams
final MessageCountTokensParams.Builder additionalQueryParams(QueryParams additionalQueryParams)
-
additionalQueryParams
final MessageCountTokensParams.Builder additionalQueryParams(Map<String, Iterable<String>> additionalQueryParams)
-
putAdditionalQueryParam
final MessageCountTokensParams.Builder putAdditionalQueryParam(String key, String value)
-
putAdditionalQueryParams
final MessageCountTokensParams.Builder putAdditionalQueryParams(String key, Iterable<String> values)
-
putAllAdditionalQueryParams
final MessageCountTokensParams.Builder putAllAdditionalQueryParams(QueryParams additionalQueryParams)
-
putAllAdditionalQueryParams
final MessageCountTokensParams.Builder putAllAdditionalQueryParams(Map<String, Iterable<String>> additionalQueryParams)
-
replaceAdditionalQueryParams
final MessageCountTokensParams.Builder replaceAdditionalQueryParams(String key, String value)
-
replaceAdditionalQueryParams
final MessageCountTokensParams.Builder replaceAdditionalQueryParams(String key, Iterable<String> values)
-
replaceAllAdditionalQueryParams
final MessageCountTokensParams.Builder replaceAllAdditionalQueryParams(QueryParams additionalQueryParams)
-
replaceAllAdditionalQueryParams
final MessageCountTokensParams.Builder replaceAllAdditionalQueryParams(Map<String, Iterable<String>> additionalQueryParams)
-
removeAdditionalQueryParams
final MessageCountTokensParams.Builder removeAdditionalQueryParams(String key)
-
removeAllAdditionalQueryParams
final MessageCountTokensParams.Builder removeAllAdditionalQueryParams(Set<String> keys)
-
build
final MessageCountTokensParams build()
Returns an immutable instance of MessageCountTokensParams.
Further updates to this Builder will not mutate the returned instance.
The following fields are required:
.messages() .model()
-
-
-
-