Class Message
-
- All Implemented Interfaces:
public final class Message
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public final classMessage.BuilderA builder for Message.
-
Method Summary
Modifier and Type Method Description final MessageParamtoParam()final Stringid()Unique object identifier. final Optional<Container>container()Information about the container used in the request (for the code execution tool) final List<ContentBlock>content()Content generated by the model. final Modelmodel()The model that will complete your prompt. final JsonValue_role()Conversational role of the generated message. final Optional<RefusalStopDetails>stopDetails()Structured information about a refusal. final Optional<StopReason>stopReason()The reason that we stopped. final Optional<String>stopSequence()Which custom stop sequence was generated, if any. final JsonValue_type()Object type. final Usageusage()Billing and rate-limit usage. final JsonField<String>_id()Returns the raw JSON value of id. final JsonField<Container>_container()Returns the raw JSON value of container. final JsonField<List<ContentBlock>>_content()Returns the raw JSON value of content. final JsonField<Model>_model()Returns the raw JSON value of model. final JsonField<RefusalStopDetails>_stopDetails()Returns the raw JSON value of stopDetails. final JsonField<StopReason>_stopReason()Returns the raw JSON value of stopReason. final JsonField<String>_stopSequence()Returns the raw JSON value of stopSequence. final JsonField<Usage>_usage()Returns the raw JSON value of usage. final Map<String, JsonValue>_additionalProperties()final Message.BuildertoBuilder()final Messagevalidate()Validates that the types of all values in this object match their expected types recursively. final BooleanisValid()Booleanequals(Object other)IntegerhashCode()StringtoString()final static Message.Builderbuilder()Returns a mutable builder for constructing an instance of Message. -
-
Method Detail
-
toParam
final MessageParam toParam()
-
container
final Optional<Container> container()
Information about the container used in the request (for the code execution tool)
-
content
final List<ContentBlock> content()
Content generated by the model.
This is an array of content blocks, each of which has a
typethat determines its shape.Example:
[{"type": "text", "text": "Hi, I'm Claude."}]If the request input
messagesended with anassistantturn, then the responsecontentwill continue directly from that last turn. You can use this to constrain the model's output.For example, if the input
messageswere:[ {"role": "user", "content": "What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun"}, {"role": "assistant", "content": "The best answer is ("} ]Then the response
contentmight be:[{"type": "text", "text": "B)"}]
-
model
final Model model()
The model that will complete your prompt.
See models for additional details and options.
-
_role
final JsonValue _role()
Conversational role of the generated message.
This will always be
"assistant".Expected to always return the following:
JsonValue.from("assistant")However, this method can be useful for debugging and logging (e.g. if the server responded with an unexpected value).
-
stopDetails
final Optional<RefusalStopDetails> stopDetails()
Structured information about a refusal.
-
stopReason
final Optional<StopReason> stopReason()
The reason that we stopped.
This may be one the following values:
"end_turn": the model reached a natural stopping point"max_tokens": we exceeded the requestedmax_tokensor the model's maximum"stop_sequence": one of your provided customstop_sequenceswas generated"tool_use": the model invoked one or more tools"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."refusal": when streaming classifiers intervene to handle potential policy violations
In non-streaming mode this value is always non-null. In streaming mode, it is null in the
message_startevent and non-null otherwise.
-
stopSequence
final Optional<String> stopSequence()
Which custom stop sequence was generated, if any.
This value will be a non-null string if one of your custom stop sequences was generated.
-
_type
final JsonValue _type()
Object type.
For Messages, this is always
"message".Expected to always return the following:
JsonValue.from("message")However, this method can be useful for debugging and logging (e.g. if the server responded with an unexpected value).
-
usage
final Usage usage()
Billing and rate-limit usage.
Anthropic's API bills and rate-limits by token counts, as tokens represent the underlying cost to our systems.
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
usagewill not match one-to-one with the exact visible content of an API request or response.For example,
output_tokenswill be non-zero, even for an empty string response from Claude.Total input tokens in a request is the summation of
input_tokens,cache_creation_input_tokens, andcache_read_input_tokens.
-
_id
final JsonField<String> _id()
Returns the raw JSON value of id.
Unlike id, this method doesn't throw if the JSON field has an unexpected type.
-
_container
final JsonField<Container> _container()
Returns the raw JSON value of container.
Unlike container, this method doesn't throw if the JSON field has an unexpected type.
-
_content
final JsonField<List<ContentBlock>> _content()
Returns the raw JSON value of content.
Unlike content, this method doesn't throw if the JSON field has an unexpected type.
-
_model
final JsonField<Model> _model()
Returns the raw JSON value of model.
Unlike model, this method doesn't throw if the JSON field has an unexpected type.
-
_stopDetails
final JsonField<RefusalStopDetails> _stopDetails()
Returns the raw JSON value of stopDetails.
Unlike stopDetails, this method doesn't throw if the JSON field has an unexpected type.
-
_stopReason
final JsonField<StopReason> _stopReason()
Returns the raw JSON value of stopReason.
Unlike stopReason, this method doesn't throw if the JSON field has an unexpected type.
-
_stopSequence
final JsonField<String> _stopSequence()
Returns the raw JSON value of stopSequence.
Unlike stopSequence, this method doesn't throw if the JSON field has an unexpected type.
-
_usage
final JsonField<Usage> _usage()
Returns the raw JSON value of usage.
Unlike usage, this method doesn't throw if the JSON field has an unexpected type.
-
_additionalProperties
final Map<String, JsonValue> _additionalProperties()
-
toBuilder
final Message.Builder toBuilder()
-
validate
final Message validate()
Validates that the types of all values in this object match their expected types recursively.
This method is not forwards compatible with new types from the API for existing fields.
-
builder
final static Message.Builder builder()
Returns a mutable builder for constructing an instance of Message.
The following fields are required:
.id() .container() .content() .model() .stopDetails() .stopReason() .stopSequence() .usage()
-
-
-
-