---
title: "POST /api/ai/completion"
method: POST
path: "/api/ai/completion"
---

# POST /api/ai/completion

`POST /api/ai/completion`

## Headers

- `Marimo-Session-Id` string, required

## Request body

- AiCompletionRequest — UIMessages are expected to be AI SDK messages. See pydantic_ai.ui.vercel_ai.request_types.UIMessage or Vercel AI SDK documentation.
  - `code` string, required
  - `context` AiCompletionContext
    - `plainText` string
    - `schema` SchemaTable[]
      - `columns` SchemaColumn[], required
        - `name` string, required
        - `sampleValues` unknown[], required
          - unknown
        - `type` string, required
      - `name` string, required
    - `variables` union[]
      - union
        - string
        - VariableContext
          - `name` string, required
          - `previewValue` unknown, required
          - `valueType` string, required
  - `includeOtherCode` string, required
  - `language` 'markdown' | 'python' | 'sql'
  - `prompt` string, required
  - `selectedText` string, nullable
  - `uiMessages` object[]

## Response `200`

Get AI completion for a prompt

- object

---

[API](https://skmtc.dev/marimo-team/apis/marimo-api.md) · [All operations](https://skmtc.dev/marimo-team/apis/marimo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/marimo-team/marimo-api/revisions/a39082aac3ce/schema)
