Answers and responses Answers and responses
Read answers, confidence scores, token usage, and available models returned by the TypeSafe API.
Response
typesafe_sdk.SystemOneResponse
pydantic-model
Bases: Response
Answers grouped by question type with model and usage metadata.
See System One for details.
Show JSON schema:
Details {
"$defs" : {
"ChoiceAnswer" : {
"description" : "A selected label and its probabilities. \n\n See the [choice primitive](../../../../primitives/choice) for details." ,
"properties" : {
"type" : {
"const" : "choice" ,
"default" : "choice" ,
"title" : "Type" ,
"type" : "string"
},
"choice" : {
"description" : "The name of the choice with the highest probability among the question's criteria." ,
"examples" : [
"angry"
],
"title" : "Choice" ,
"type" : "string"
},
"confidence" : {
"description" : "Confidence in the selected choice, from 0 to 1. Higher values indicate greater certainty; use lower values to flag uncertain selections for review." ,
"examples" : [
0.9
],
"title" : "Confidence" ,
"type" : "number"
},
"probabilities" : {
"additionalProperties" : {
"type" : "number"
},
"description" : "Probability of each choice in criteria, keyed by choice name, from 0 to 1. Shows how likely the alternatives are; values sum to approximately 1." ,
"examples" : [
{
"angry" : 0.8 ,
"calm" : 0.1 ,
"excited" : 0.1
}
],
"title" : "Probabilities" ,
"type" : "object"
}
},
"required" : [
"choice" ,
"confidence" ,
"probabilities"
],
"title" : "ChoiceAnswer" ,
"type" : "object"
},
"NoulAnswer" : {
"description" : "A yes/no answer. \n\n See the [noul primitive](../../../../primitives/noul) for details." ,
"properties" : {
"type" : {
"const" : "noul" ,
"default" : "noul" ,
"title" : "Type" ,
"type" : "string"
},
"noul" : {
"description" : "Probability of a yes answer or a true statement, from 0 to 1. Values near 1 favor yes or true, values near 0 favor no or false, and values near 0.5 indicate uncertainty." ,
"examples" : [
0.98
],
"title" : "Noul" ,
"type" : "number"
}
},
"required" : [
"noul"
],
"title" : "NoulAnswer" ,
"type" : "object"
},
"ScoreAnswer" : {
"description" : "An expected score with its rubric and probabilities. \n\n See the [score primitive](../../../../primitives/score) for details." ,
"properties" : {
"type" : {
"const" : "score" ,
"default" : "score" ,
"title" : "Type" ,
"type" : "string"
},
"score" : {
"description" : "Expected score: the probability-weighted average of the rubric levels. May fall between integer levels." ,
"examples" : [
1.7
],
"title" : "Score" ,
"type" : "number"
},
"confidence" : {
"description" : "Confidence in the score, from 0 to 1. Higher values indicate greater certainty; use lower values to flag uncertain ratings for review." ,
"examples" : [
0.9
],
"title" : "Confidence" ,
"type" : "number"
},
"legend" : {
"additionalProperties" : {
"anyOf" : [
{
"type" : "string"
},
{
"additionalProperties" : true ,
"type" : "object"
},
{
"items" : {},
"type" : "array"
}
]
},
"title" : "Legend" ,
"type" : "object"
},
"probabilities" : {
"additionalProperties" : {
"type" : "number"
},
"title" : "Probabilities" ,
"type" : "object"
}
},
"required" : [
"score" ,
"confidence" ,
"legend" ,
"probabilities"
],
"title" : "ScoreAnswer" ,
"type" : "object"
},
"Usage" : {
"description" : "Token counts for a request, when reported by the API." ,
"properties" : {
"input_tokens" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Input Tokens"
},
"output_tokens" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Output Tokens"
}
},
"title" : "Usage" ,
"type" : "object"
}
},
"description" : "Answers grouped by question type with model and usage metadata. \n\n See [System One](../../../../concepts/system-one) for details." ,
"properties" : {
"model" : {
"title" : "Model" ,
"type" : "string"
},
"usage" : {
"$ref" : "#/$defs/Usage"
},
"answers" : {
"additionalProperties" : {
"discriminator" : {
"mapping" : {
"choice" : "#/$defs/ChoiceAnswer" ,
"noul" : "#/$defs/NoulAnswer" ,
"score" : "#/$defs/ScoreAnswer"
},
"propertyName" : "type"
},
"oneOf" : [
{
"$ref" : "#/$defs/NoulAnswer"
},
{
"$ref" : "#/$defs/ChoiceAnswer"
},
{
"$ref" : "#/$defs/ScoreAnswer"
}
]
},
"title" : "Answers" ,
"type" : "object"
}
},
"required" : [
"model" ,
"usage"
],
"title" : "SystemOneResponse" ,
"type" : "object"
}
Config:
extra: ignore
frozen: True
strict: True
Fields:
request_id
cached property
request_id : str
The x-typesafe-request-id response header.
raw_http_response
property
raw_http_response: httpx2.Response
The underlying httpx2.Response, exposing status, headers, and body.
model_config
class-attribute instance-attribute
model_config = ConfigDict(
extra = "ignore" , frozen = True , strict = True
)
model
pydantic-field
model : str
The model used to answer the request.
usage
pydantic-field
usage : Usage
Token usage for the request.
answers
pydantic-field
answers : dict [ str , Answer ]
All answer objects keyed by question name.
nouls
cached property
nouls : dict [ str , NoulAnswer ]
Yes/no answers keyed by question name.
choices
cached property
choices : dict [ str , ChoiceAnswer ]
Choice answers keyed by question name.
scores
cached property
scores : dict [ str , ScoreAnswer ]
Score answers keyed by question name.
typesafe_sdk.Usage
pydantic-model
Bases: wire.Usage
Token counts for a request, when reported by the API.
Show JSON schema:
Details {
"description" : "Token counts for a request, when reported by the API." ,
"properties" : {
"input_tokens" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Input Tokens"
},
"output_tokens" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Output Tokens"
}
},
"title" : "Usage" ,
"type" : "object"
}
Config:
extra: ignore
frozen: True
strict: True
Fields:
model_config
class-attribute instance-attribute
model_config = ConfigDict(
extra = "ignore" , frozen = True , strict = True
)
input_tokens
pydantic-field
input_tokens : int | None = None
Number of input tokens used, or None when the API did not report it.
output_tokens
pydantic-field
output_tokens : int | None = None
Number of output tokens used, or None when the API did not report it.
Answers
typesafe_sdk.NoulAnswer
pydantic-model
Bases: wire.NoulAnswer
A yes/no answer.
See the noul primitive for details.
Show JSON schema:
Details {
"description" : "A yes/no answer. \n\n See the [noul primitive](../../../../primitives/noul) for details." ,
"properties" : {
"type" : {
"const" : "noul" ,
"default" : "noul" ,
"title" : "Type" ,
"type" : "string"
},
"noul" : {
"description" : "Probability of a yes answer or a true statement, from 0 to 1. Values near 1 favor yes or true, values near 0 favor no or false, and values near 0.5 indicate uncertainty." ,
"examples" : [
0.98
],
"title" : "Noul" ,
"type" : "number"
}
},
"required" : [
"noul"
],
"title" : "NoulAnswer" ,
"type" : "object"
}
Config:
extra: ignore
frozen: True
strict: True
Fields:
noul
pydantic-field
noul : float
Probability of a yes answer or a true statement, from 0 to 1. Values near 1 favor yes or true, values near 0 favor no or false, and values near 0.5 indicate uncertainty.
model_config
class-attribute instance-attribute
model_config = ConfigDict(
extra = "ignore" , frozen = True , strict = True
)
typesafe_sdk.ChoiceAnswer
pydantic-model
Bases: wire.ChoiceAnswer
A selected label and its probabilities.
See the choice primitive for details.
Show JSON schema:
Details {
"description" : "A selected label and its probabilities. \n\n See the [choice primitive](../../../../primitives/choice) for details." ,
"properties" : {
"type" : {
"const" : "choice" ,
"default" : "choice" ,
"title" : "Type" ,
"type" : "string"
},
"choice" : {
"description" : "The name of the choice with the highest probability among the question's criteria." ,
"examples" : [
"angry"
],
"title" : "Choice" ,
"type" : "string"
},
"confidence" : {
"description" : "Confidence in the selected choice, from 0 to 1. Higher values indicate greater certainty; use lower values to flag uncertain selections for review." ,
"examples" : [
0.9
],
"title" : "Confidence" ,
"type" : "number"
},
"probabilities" : {
"additionalProperties" : {
"type" : "number"
},
"description" : "Probability of each choice in criteria, keyed by choice name, from 0 to 1. Shows how likely the alternatives are; values sum to approximately 1." ,
"examples" : [
{
"angry" : 0.8 ,
"calm" : 0.1 ,
"excited" : 0.1
}
],
"title" : "Probabilities" ,
"type" : "object"
}
},
"required" : [
"choice" ,
"confidence" ,
"probabilities"
],
"title" : "ChoiceAnswer" ,
"type" : "object"
}
Config:
extra: ignore
frozen: True
strict: True
Fields:
choice
pydantic-field
choice : str
The name of the choice with the highest probability among the question’s criteria.
confidence
pydantic-field
confidence : float
Confidence in the selected choice, from 0 to 1. Higher values indicate greater certainty; use lower values to flag uncertain selections for review.
probabilities
pydantic-field
probabilities : dict [ str , float ]
Probability of each choice in criteria, keyed by choice name, from 0 to 1. Shows how likely the alternatives are; values sum to approximately 1.
model_config
class-attribute instance-attribute
model_config = ConfigDict(
extra = "ignore" , frozen = True , strict = True
)
typesafe_sdk.ScoreAnswer
pydantic-model
Bases: wire.ScoreAnswer
An expected score with its rubric and probabilities.
See the score primitive for details.
Show JSON schema:
Details {
"description" : "An expected score with its rubric and probabilities. \n\n See the [score primitive](../../../../primitives/score) for details." ,
"properties" : {
"type" : {
"const" : "score" ,
"default" : "score" ,
"title" : "Type" ,
"type" : "string"
},
"score" : {
"description" : "Expected score: the probability-weighted average of the rubric levels. May fall between integer levels." ,
"examples" : [
1.7
],
"title" : "Score" ,
"type" : "number"
},
"confidence" : {
"description" : "Confidence in the score, from 0 to 1. Higher values indicate greater certainty; use lower values to flag uncertain ratings for review." ,
"examples" : [
0.9
],
"title" : "Confidence" ,
"type" : "number"
},
"legend" : {
"additionalProperties" : {
"anyOf" : [
{
"type" : "string"
},
{
"additionalProperties" : true ,
"type" : "object"
},
{
"items" : {},
"type" : "array"
}
]
},
"title" : "Legend" ,
"type" : "object"
},
"probabilities" : {
"additionalProperties" : {
"type" : "number"
},
"title" : "Probabilities" ,
"type" : "object"
}
},
"required" : [
"score" ,
"confidence" ,
"legend" ,
"probabilities"
],
"title" : "ScoreAnswer" ,
"type" : "object"
}
Config:
extra: ignore
frozen: True
strict: True
Fields:
score
pydantic-field
score : float
Expected score: the probability-weighted average of the rubric levels. May fall between integer levels.
confidence
pydantic-field
confidence : float
Confidence in the score, from 0 to 1. Higher values indicate greater certainty; use lower values to flag uncertain ratings for review.
model_config
class-attribute instance-attribute
model_config = ConfigDict(
extra = "ignore" , frozen = True , strict = True
)
legend
pydantic-field
legend : dict [
int , str | dict [ str , Any ] | list [ Any ]
]
Rubric descriptions keyed by integer score.
probabilities
pydantic-field
probabilities : dict [ int , float ]
Probabilities keyed by integer score.
typesafe_sdk.Answer
module-attribute
Answer : TypeAlias = Annotated [
NoulAnswer | ChoiceAnswer | ScoreAnswer ,
Field ( discriminator = "type" ),
]
An answer to a single question, identified by its type.
Available models
typesafe_sdk.ListModelsResponse
pydantic-model
Bases: Response
The models available to the account.
Show JSON schema:
Details {
"$defs" : {
"ModelMetadata" : {
"description" : "Metadata describing a single available model." ,
"properties" : {
"name" : {
"title" : "Name" ,
"type" : "string"
},
"description" : {
"title" : "Description" ,
"type" : "string"
},
"release_date" : {
"title" : "Release Date" ,
"type" : "string"
}
},
"required" : [
"name" ,
"description" ,
"release_date"
],
"title" : "ModelMetadata" ,
"type" : "object"
}
},
"description" : "The models available to the account." ,
"properties" : {
"models" : {
"items" : {
"$ref" : "#/$defs/ModelMetadata"
},
"title" : "Models" ,
"type" : "array"
}
},
"required" : [
"models"
],
"title" : "ListModelsResponse" ,
"type" : "object"
}
Fields:
request_id
cached property
request_id : str
The x-typesafe-request-id response header.
raw_http_response
property
raw_http_response: httpx2.Response
The underlying httpx2.Response, exposing status, headers, and body.
model_config
class-attribute instance-attribute
model_config = ConfigDict(
extra = "ignore" , frozen = True , strict = True
)
models
pydantic-field
models : tuple [ ModelMetadata , ... ]
The available models.
typesafe_sdk.ModelMetadata
pydantic-model
Bases: Schema
Metadata describing a single available model.
Show JSON schema:
Details {
"description" : "Metadata describing a single available model." ,
"properties" : {
"name" : {
"title" : "Name" ,
"type" : "string"
},
"description" : {
"title" : "Description" ,
"type" : "string"
},
"release_date" : {
"title" : "Release Date" ,
"type" : "string"
}
},
"required" : [
"name" ,
"description" ,
"release_date"
],
"title" : "ModelMetadata" ,
"type" : "object"
}
Fields:
name
pydantic-field
name : str
Model name or alias accepted by a request’s model field.
description
pydantic-field
description : str
Human-readable description of the model and its capabilities.
release_date
pydantic-field
release_date : str
Model release date, formatted as YYYY-MM-DD.