---
title: "Edit a survey draft with Kai"
method: POST
path: "/engagement/surveys/{surveyId}/kai-edit"
tags: ["Engagement Survey"]
---

# Edit a survey draft with Kai

`POST /engagement/surveys/{surveyId}/kai-edit`

## Request

- Base URL: `https://api.gleap.io/v3`
- URL: `https://api.gleap.io/v3/engagement/surveys/{surveyId}/kai-edit`
- Auth: HTTP bearer

Ask Kai to edit the draft. Body `{ instruction, definition?, selectedId?, lang? }`: `definition` is the
editor's working copy (default: the stored draft), `selectedId` the step "this question" refers to, `lang`
the language the teammate is viewing. Nothing is saved: returns `{ status: 'edited', summary, definition,
changes: [{ kind, step, id, number?, type?, title, details }], warnings, languagesAdded, languagesNotInProject }`
for review, or `{ status: 'unrelated' | 'unclear' | 'no_change' | 'failed', message }`. Existing questions keep
their ids and answer keys. Uses AI credits (402 when out of AI usage); 429 when asked too often.

## Path parameters

- `surveyId` string, required

## Headers

- `project` string, required

## Request body

- unknown

## Response `200`

Ok

- unknown

## Changes

- **2026-10-08** `fd83cd1963c4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gleap/apis/gleap-server/changes/engagement/surveys/:surveyId/kai-edit/post.md)

---

[API](https://skmtc.dev/gleap/apis/gleap-server.md) - [All operations](https://skmtc.dev/gleap/apis/gleap-server/llms.txt) - [OpenAPI document](https://skmtc.dev/gleap/apis/gleap-server/revisions/3b025e883cef?raw)
