{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/bountyoperator-com/json-schema/bountyoperator-com-post-v1-chat-completions-request-schema.json",
  "title": "PostV1ChatCompletionsRequest",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/bountyoperator-com-openapi-generated.yml#/components/schemas/PostV1ChatCompletionsRequest",
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "Model ID to use for the chat completion"
    },
    "messages": {
      "type": "string",
      "description": "Array of message objects with role and content"
    },
    "tools": {
      "type": "string",
      "description": "Tool definitions for the model to use"
    },
    "tool_choice": {
      "type": "string",
      "description": "Controls which tool the model may invoke"
    },
    "parallel_tool_calls": {
      "type": "string",
      "description": "Whether the model may call multiple tools in parallel"
    },
    "response_format": {
      "type": "string",
      "description": "Desired format of the model’s response"
    },
    "temperature": {
      "type": "string",
      "description": "Sampling temperature"
    },
    "top_p": {
      "type": "string",
      "description": "Top‑p nucleus sampling"
    },
    "top_k": {
      "type": "string",
      "description": "Top‑k sampling"
    },
    "penalties": {
      "type": "string",
      "description": "Penalty parameters for token generation"
    },
    "seed": {
      "type": "string",
      "description": "Random seed for deterministic output"
    },
    "stop": {
      "type": "string",
      "description": "Stop sequences"
    },
    "max_tokens": {
      "type": "string",
      "description": "Maximum number of tokens to generate"
    },
    "max_completion_tokens": {
      "type": "string",
      "description": "Maximum number of completion tokens"
    },
    "stream": {
      "type": "string",
      "description": "If true, returns an SSE stream"
    },
    "stream_options.include_usage": {
      "type": "string",
      "description": "Include token usage in streamed responses"
    },
    "extra_body.chat_template_kwargs.enable_thinking": {
      "type": "string",
      "description": "Disable reasoning for models that support this control"
    },
    "Idempotency-Key": {
      "type": "string",
      "description": "Optional header to prevent duplicate requests"
    }
  },
  "required": [
    "model",
    "messages"
  ]
}