{
"type": "object",
"properties": {
"PCID": {
"type": "string",
"description": "Pink Connect ID for the authenticated connection"
},
"logprobs": {
"type": "boolean",
"description": "Whether to return log probabilities of the output tokens."
},
"max_tokens": {
"type": "integer",
"description": "The maximum number of tokens to generate in the response."
},
"messages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"system",
"user",
"assistant",
"tool"
],
"description": "The role of the message author."
},
"content": {
"type": "string",
"description": "The content of the message."
},
"name": {
"type": "string",
"description": "An optional name for the participant."
},
"tool_call_id": {
"type": "string",
"description": "Tool call that this message is responding to. Required for tool messages."
},
"tool_calls": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the tool call."
},
"type": {
"type": "string"
},
"function": {
"type": "object"
}
}
},
"description": "Tool calls generated by the model."
},
"prefix": {
"type": "boolean",
"description": "Beta feature. Set true on the last assistant message to force the model to continue from that prefix."
},
"reasoning_content": {
"type": "string",
"description": "The reasoning content from thinking mode. Used when passing back reasoning in multi-turn."
}
},
"required": [
"role"
]
},
"description": "A list of messages comprising the conversation so far."
},
"model": {
"type": "string",
"description": "ID of the model to use.",
"enum": [
"deepseek-v4-flash",
"deepseek-v4-pro"
]
},
"reasoning_effort": {
"type": "string",
"description": "Controls how much reasoning effort the model uses. Top-level parameter alongside thinking.",
"enum": [
"high",
"max"
]
},
"response_format": {
"type": "object",
"description": "An object specifying the format of the response.",
"properties": {
"type": {
"type": "string",
"description": "The format type.",
"enum": [
"text",
"json_object"
]
}
}
},
"stop": {
"type": "array",
"items": {
"type": "string"
},
"description": "Up to 16 sequences where the API will stop generating further tokens."
},
"stream": {
"type": "boolean",
"description": "If true, partial message deltas will be sent as server-sent events."
},
"stream_options": {
"type": "object",
"description": "Options for streaming responses.",
"properties": {
"include_usage": {
"type": "boolean",
"description": "If true, an additional chunk with token usage statistics is sent before the [DONE] message."
}
}
},
"temperature": {
"type": "number",
"description": "Sampling temperature between 0 and 2. Higher values make output more random."
},
"thinking": {
"type": "object",
"description": "Configuration for the thinking/reasoning mode.",
"properties": {
"type": {
"type": "string",
"description": "Whether thinking is enabled or disabled.",
"enum": [
"enabled",
"disabled"
]
}
}
},
"tool_choice": {
"description": "Controls which tool is called by the model. 'none' disables tool calls, 'auto' lets the model decide, 'required' forces a tool call."
},
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"function"
],
"description": "The type value"
},
"function": {
"type": "object",
"description": "The function value"
}
},
"required": [
"type",
"function"
]
},
"description": "A list of tools the model may call. Up to 128 functions."
},
"top_logprobs": {
"type": "integer",
"description": "Number of most likely tokens to return at each position (0-20). Requires logprobs to be true."
},
"top_p": {
"type": "number",
"description": "Nucleus sampling parameter. The model considers tokens with top_p probability mass."
},
"user": {
"type": "string",
"description": "A unique identifier representing your end-user. Max 512 characters, alphanumeric, dash, or underscore."
}
},
"required": [
"PCID",
"messages",
"model"
]
}