---
title: "POST /v1/chat/completions"
method: POST
path: "/v1/chat/completions"
tags: ["chat.completions"]
---

# POST /v1/chat/completions

`POST /v1/chat/completions`

## Request

- Base URL: `https://api.distribute.ai`
- URL: `https://api.distribute.ai/v1/chat/completions`
- Auth: API key in header `authorization`

Generate a chat completion synchronously using the provided messages and model parameters.

## Request body

- object: Standard OpenAI chat completion response containing the generated message and metadata.
  - `messages` union[], required
    - union
      - object
        - `role` 'system', required
        - `content` string, required
        - `name` string
      - object
        - `role` 'user', required
        - `content` string, required
        - `name` string
      - object
        - `role` 'assistant', required
        - `content` string
        - `name` string
        - `tool_calls` object[], required
          - `id` string, required
          - `type` 'function', required
          - `function` object, required
            - `arguments` object, required
            - `name` string, required
      - object
        - `role` 'tool', required
        - `content` string, required
        - `tool_call_id` string, required
  - `model` 'Llama-3.1 8B' | 'Llama-3.3 70B', required
  - `reasoning_effort` 'low' | 'medium' | 'high'
  - `metadata` object
  - `frequency_penalty` number
  - `max_completion_tokens` number
  - `n` 1
  - `modalities` string[]
  - `presence_penalty` number
  - `seed` number
  - `service_tier` 'auto' | 'default'
  - `stop` string[]
  - `stream` boolean
  - `stream_options` object
    - `include_usage` boolean
  - `temperature` number
  - `top_p` number
  - `tools` object[]
    - `type` 'function', required
    - `function` object, required
      - `description` string
      - `name` string, required
      - `parameters` object
      - `strict` boolean
  - `tool_choice` union
    - 'none' | 'auto' | 'required'
    - object
      - `type` 'function', required
      - `function` object, required
        - `name` string, required
  - `parallel_tool_calls` boolean

## Response `200`

Default Response

- object
  - `id` string, required
  - `choices` object[], required
    - `finish_reason` 'stop' | 'tool_calls', required
    - `index` number, required
    - `message` object, required
      - `content` string, required
      - `tool_calls` object[]
        - `id` string, required
        - `type` 'function', required
        - `function` object, required
          - `name` string, required
          - `arguments` string, required
      - `role` 'system' | 'user' | 'assistant', required
      - `name` string
  - `created` number, required
  - `model` 'Llama-3.1 8B' | 'Llama-3.3 70B', required
  - `service_tier` string
  - `system_fingerprint` string, required
  - `object` 'chat.completion', required
  - `usage` object, required
    - `completion_tokens` number, required
    - `prompt_tokens` number, required
    - `total_tokens` number, required

## Other responses

- `400`: Default Response
- `404`: Default Response
- `500`: Default Response

---

[API](https://skmtc.dev/distribute/apis/distribute-ai-api.md) - [All operations](https://skmtc.dev/distribute/apis/distribute-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/distribute/apis/distribute-ai-api/revisions/c00f2aec7fca?raw)
