---
title: "Create Response"
method: POST
path: "/v1/responses"
tags: ["responses"]
---

# Create Response

`POST /v1/responses`

## Request

- Base URL: `https://api.mistral.ai`
- URL: `https://api.mistral.ai/v1/responses`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/mistral/apis/mistral-ai-api/docs/v1/responses/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a response.

Generate a model response from text or image inputs. The response can
include text, reasoning, and function calls. Set stream to true to
receive Server-Sent Events.

For multi-turn conversations, send the full history in input, including
prior output items and function results. Responses are not stored. Only
client-executed function tools are supported.

## Request body

- CreateResponseRequest
  - `model` string, required
  - `input` union, required
    - string
    - union[]
      - union
        - object
          - `content` union, required
            - string
            - union[]
              - …
          - `role` 'user' | 'assistant' | 'system' | 'developer', required
          - `phase` 'commentary' | 'final_answer', nullable
          - `type` 'message', nullable
        - object
          - `content` union[], required
            - union
              - …
          - `role` 'user' | 'system' | 'developer', required
          - `status` 'in_progress' | 'completed' | 'incomplete', nullable
          - `type` 'message', nullable
        - object
          - `id` string, required
          - `content` union[], required
            - union
              - …
          - `role` 'assistant', required
          - `status` 'in_progress' | 'completed' | 'incomplete', required
          - `type` 'message', required
          - `phase` 'commentary' | 'final_answer', nullable
        - object
          - `arguments` string, required
          - `call_id` string, required
          - `name` string, required
          - `type` 'function_call', required
          - `id` string, nullable
          - `caller` union
            - object
              - …
            - object
              - …
          - `namespace` string, nullable
          - `status` 'in_progress' | 'completed' | 'incomplete', nullable
        - object
          - `call_id` string, required
          - `output` union, required
            - string
            - union[]
              - …
          - `type` 'function_call_output', required
          - `id` string, nullable
          - `caller` union
            - object
              - …
            - object
              - …
          - `status` 'in_progress' | 'completed' | 'incomplete', nullable
        - object
          - `id` string, required
          - `summary` ResponsesSummary[], required
            - `text` string, required
            - `type` 'summary_text', required
          - `type` 'reasoning', required
          - `content` ResponsesContent[], nullable
            - `text` string, required
            - `type` 'reasoning_text', required
          - `encrypted_content` string, nullable
          - `status` 'in_progress' | 'completed' | 'incomplete', nullable
  - `instructions` string, nullable
  - `parallel_tool_calls` boolean
  - `previous_response_id` unknown
  - `truncation` 'disabled'
  - `tools` union[]
    - union
      - object
        - `name` string, required
        - `parameters` object, nullable
        - `strict` boolean, nullable
        - `type` 'function', required
        - `allowed_callers` string[], nullable
        - `defer_loading` boolean, nullable
        - `description` string, nullable
        - `output_schema` object, nullable
      - object
        - `description` string, required
        - `name` string, required
        - `tools` union[], required
          - union
            - object
              - …
            - object
              - …
        - `type` 'namespace', required
  - `tool_choice` union
    - 'none' | 'auto' | 'required'
    - object
      - `name` string, required
      - `type` 'function', required
  - `reasoning` object, nullable
    - `effort` 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max', nullable
  - `conversation` unknown
  - `prompt` unknown
  - `text` object, nullable
    - `format` union
      - object
        - `type` 'text', required
      - object
        - `name` string, required
        - `schema` object, required
        - `type` 'json_schema', required
        - `description` string, nullable
        - `strict` boolean, nullable
      - object
        - `type` 'json_object', required
    - `verbosity` 'low' | 'medium' | 'high', nullable
  - `background` false
  - `stream` boolean
  - `store` false, nullable
  - `max_output_tokens` integer, nullable
  - `temperature` number, nullable
  - `top_p` number, nullable
  - `metadata` object, nullable
  - `prompt_cache_key` string, nullable
  - `max_tool_calls` integer, nullable
  - `moderation` unknown
  - `top_logprobs` 0, nullable

## Response `200`

Successful Response

- CreateResponseResponse
  - `id` string, required
  - `created_at` number, required
  - `error` object, nullable
    - `code` 'server_error' | 'rate_limit_exceeded' | 'invalid_prompt' | 'bio_policy' | 'vector_store_timeout' | 'invalid_image' | 'invalid_image_format' | 'invalid_base64_image' | 'invalid_image_url' | 'image_too_large' | 'image_too_small' | 'image_parse_error' | 'image_content_policy_violation' | 'invalid_image_mode' | 'image_file_too_large' | 'unsupported_image_media_type' | 'empty_image_file' | 'failed_to_download_image' | 'image_file_not_found', required
    - `message` string, required
  - `incomplete_details` object, nullable
    - `reason` 'max_output_tokens' | 'content_filter', nullable
  - `instructions` string, nullable
  - `metadata` object, nullable
  - `model` string, required
  - `object` 'response', required
  - `output` union[], required
    - union
      - object
        - `id` string, required
        - `content` union[], required
          - union
            - object
              - …
            - object
              - …
        - `role` 'assistant', required
        - `status` 'in_progress' | 'completed' | 'incomplete', required
        - `type` 'message', required
        - `phase` 'commentary' | 'final_answer', nullable
      - object
        - `arguments` string, required
        - `call_id` string, required
        - `name` string, required
        - `type` 'function_call', required
        - `id` string, nullable
        - `caller` union
          - object
            - `type` 'direct', required
          - object
            - `caller_id` string, required
            - `type` 'program', required
        - `namespace` string, nullable
        - `status` 'in_progress' | 'completed' | 'incomplete', nullable
      - object
        - `id` string, required
        - `summary` ResponsesSummary[], required
          - `text` string, required
          - `type` 'summary_text', required
        - `type` 'reasoning', required
        - `content` ResponsesContent[], nullable
          - `text` string, required
          - `type` 'reasoning_text', required
        - `encrypted_content` string, nullable
        - `status` 'in_progress' | 'completed' | 'incomplete', nullable
  - `parallel_tool_calls` boolean, required
  - `temperature` number, nullable
  - `tool_choice` union, required
    - 'none' | 'auto' | 'required'
    - object
      - `name` string, required
      - `type` 'function', required
  - `tools` union[], required
    - union
      - object
        - `name` string, required
        - `parameters` object, nullable
        - `strict` boolean, nullable
        - `type` 'function', required
        - `allowed_callers` string[], nullable
        - `defer_loading` boolean, nullable
        - `description` string, nullable
        - `output_schema` object, nullable
      - object
        - `description` string, required
        - `name` string, required
        - `tools` union[], required
          - union
            - object
              - …
            - object
              - …
        - `type` 'namespace', required
  - `top_p` number, nullable
  - `background` boolean, nullable
  - `completed_at` number, nullable
  - `max_output_tokens` integer, nullable
  - `max_tool_calls` integer, nullable
  - `previous_response_id` string, nullable
  - `prompt_cache_key` string, nullable
  - `prompt_cache_retention` 'in_memory' | '24h', nullable
  - `reasoning` object, nullable
    - `effort` 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max', nullable
  - `safety_identifier` string, nullable
  - `service_tier` 'auto' | 'default' | 'flex' | 'scale' | 'priority', nullable
  - `status` 'completed' | 'failed' | 'in_progress' | 'cancelled' | 'queued' | 'incomplete', nullable
  - `text` object, nullable
    - `format` union
      - object
        - `type` 'text', required
      - object
        - `name` string, required
        - `schema` object, required
        - `type` 'json_schema', required
        - `description` string, nullable
        - `strict` boolean, nullable
      - object
        - `type` 'json_object', required
    - `verbosity` 'low' | 'medium' | 'high', nullable
  - `top_logprobs` integer, nullable
  - `truncation` 'auto' | 'disabled', nullable
  - `usage` object, nullable
    - `input_tokens` integer, required
    - `input_tokens_details` ResponsesInputTokensDetails, required
      - `cache_write_tokens` integer, required
      - `cached_tokens` integer, required
    - `output_tokens` integer, required
    - `output_tokens_details` ResponsesOutputTokensDetails, required
      - `reasoning_tokens` integer, required
    - `total_tokens` integer, required
  - `user` string, nullable

## Changes

- **2026-10-28** `08a585fb75bc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/mistral/apis/mistral-ai-api/changes/v1/responses/post.md)

---

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