{ "$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" } } }