{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ChatCompletionRequest",
"title": "ChatCompletionRequest",
"type": "object",
"required": [
"model",
"messages"
],
"properties": {
"model": {
"type": "string",
"description": "Model identifier (e.g., gpt-4o, claude-3-5-sonnet-20241022, gemini-2.0-flash). Use the provider's model ID as displayed in TrueFoundry's model catalog."
},
"messages": {
"type": "array",
"description": "Conversation history",
"items": {
"type": "object",
"required": [
"role",
"content"
],
"properties": {
"role": {
"type": "string",
"enum": [
"system",
"user",
"assistant",
"function",
"tool",
"developer"
]
},
"content": {
"oneOf": [
{
"type": "string"
},
{
"type": "array"
}
]
},
"name": {
"type": "string"
},
"tool_calls": {
"type": "array"
},
"tool_call_id": {
"type": "string"
}
}
}
},
"tools": {
"type": "array",
"description": "Tool definitions for function calling",
"items": {
"type": "object"
}
},
"tool_choice": {
"description": "Controls tool usage",
"oneOf": [
{
"type": "string",
"enum": [
"none",
"auto",
"required"
]
},
{
"type": "object"
}
]
},
"temperature": {
"type": "number",
"minimum": 0,
"maximum": 2,
"description": "Sampling randomness (0=deterministic)"
},
"top_p": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"top_k": {
"type": "integer",
"minimum": 1
},
"n": {
"type": "integer",
"minimum": 1,
"default": 1
},
"stream": {
"type": "boolean",
"default": false
},
"max_tokens": {
"type": "integer",
"minimum": 1
},
"stop": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"presence_penalty": {
"type": "number",
"minimum": -2,
"maximum": 2
},
"frequency_penalty": {
"type": "number",
"minimum": -2,
"maximum": 2
},
"logprobs": {
"type": "boolean"
},
"user": {
"type": "string",
"description": "End-user identifier for monitoring"
}
}
}