Genbase
ApiModel

Internal Chat Completion

POST
/model/chat/completions

Authorization

AuthorizationRequiredBearer <token>

JWT Token for authenticated users (obtained via /auth/jwt/login).

In: header

Request Body

application/jsonRequired
messagesRequiredarray<object>
modelstring
streamboolean
Default: false
toolsarray<object>
tool_choicestring | object
curl -X POST "http://localhost:8000/model/chat/completions" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {
        "role": "user",
        "content": "string",
        "tool_calls": [
          {
            "id": "string",
            "type": "function",
            "function": {
              "name": "string",
              "arguments": "string"
            }
          }
        ],
        "tool_call_id": "string",
        "name": "string"
      }
    ],
    "model": "string",
    "stream": false,
    "tools": [
      {}
    ],
    "tool_choice": "string"
  }'

Standard chat completion response structure (LiteLLM/OpenAI format)

{
  "id": "string",
  "object": "chat.completion",
  "created": 0,
  "model": "string",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "user",
        "content": "string",
        "tool_calls": [
          {
            "id": "string",
            "type": "function",
            "function": {
              "name": "string",
              "arguments": "string"
            }
          }
        ],
        "tool_call_id": "string",
        "name": "string"
      },
      "finish_reason": "string"
    }
  ],
  "usage": {
    "prompt_tokens": 0,
    "total_tokens": 0
  }
}