---
title: "Create chat completions"
method: POST
path: "/v1/private/chat/completions"
tags: ["Chat Completions"]
---

# Create chat completions

`POST /v1/private/chat/completions`

Create chat completions

## Request body

- ChatCompletionRequest
  - `model` string
  - `messages` Message[]
    - `role` string, required
    - `content` JsonNode, required
  - `temperature` number, double
  - `topP` number, double
  - `n` integer
  - `stream` boolean
  - `streamOptions` StreamOptions
    - `includeUsage` boolean
  - `stop` string[]
  - `maxTokens` integer
  - `maxCompletionTokens` integer
  - `presencePenalty` number, double
  - `frequencyPenalty` number, double
  - `logitBias` object
  - `user` string
  - `responseFormat` ResponseFormat
    - `type` 'text' | 'json_object' | 'json_schema'
    - `jsonSchema` JsonSchema
      - `name` string
      - `strict` boolean
      - `schema` object
  - `seed` integer
  - `tools` Tool[]
    - `type` 'function'
    - `function` Function
      - `name` string
      - `description` string
      - `strict` boolean
      - `parameters` object
  - `toolChoice` object
  - `parallelToolCalls` boolean
  - `store` boolean
  - `metadata` object
  - `reasoningEffort` string
  - `serviceTier` string
  - `logprobs` boolean
  - `topLogprobs` integer
  - `functions` Function[]
    - `name` string
    - `description` string
    - `strict` boolean
    - `parameters` object
  - `functionCall` FunctionCall
    - `name` string
    - `arguments` string

## Response `200`

Chat completions response

- ChatCompletionResponse
  - `id` string
  - `created` integer
  - `model` string
  - `choices` ChatCompletionChoice[]
    - `index` integer
    - `message` AssistantMessage
      - `role` 'system' | 'user' | 'assistant' | 'tool' | 'function'
      - `content` string
      - `reasoningContent` string
      - `name` string
      - `toolCalls` ToolCall[]
        - `id` string
        - `index` integer
        - `type` 'function'
        - `function` FunctionCall
          - `name` string
          - `arguments` string
      - `refusal` string
      - `functionCall` FunctionCall
        - `name` string
        - `arguments` string
    - `delta` Delta
      - `role` string
      - `content` string
      - `reasoningContent` string
      - `toolCalls` ToolCall[]
        - `id` string
        - `index` integer
        - `type` 'function'
        - `function` FunctionCall
          - `name` string
          - `arguments` string
      - `functionCall` FunctionCall
        - `name` string
        - `arguments` string
    - `finishReason` string
    - `logprobs` LogProbs
      - `content` LogProb[]
        - `token` string
        - `logprob` number, double
        - `bytes` integer[]
  - `usage` Usage
    - `totalTokens` integer
    - `promptTokens` integer
    - `promptTokensDetails` PromptTokensDetails
      - `cachedTokens` integer
    - `completionTokens` integer
    - `completionTokensDetails` CompletionTokensDetails
      - `reasoningTokens` integer
  - `systemFingerprint` string
  - `serviceTier` string

## Changes

- **2026-09-10** `78a7cbc1232c` — 42 warning, 42 info
  - removed the request property `frequency_penalty`
  - removed the request property `function_call`
  - removed the request property `logit_bias`
  - removed the request property `max_completion_tokens`
  - …80 more

[Change history](https://skmtc.dev/comet-ml/apis/opik-rest-api/changes/v1/private/chat/completions/post.md)

---

[API](https://skmtc.dev/comet-ml/apis/opik-rest-api.md) · [All operations](https://skmtc.dev/comet-ml/apis/opik-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/comet-ml/apis/opik-rest-api/revisions/4baa2ed0236f?raw)
