---
title: "Generate a document"
method: POST
path: "/documents/generations"
tags: ["documents"]
---

# Generate a document

`POST /documents/generations`

## Request

- Base URL: `https://api.krater.ai/v1`
- URL: `https://api.krater.ai/v1/documents/generations`
- Auth: HTTP bearer

Generate a professional document, essay or report from a prompt.

## Request body

- object
  - `prompt` string, required: What the document should contain.
  - `format` string: Output format.
  - `model` string: Model identifier.

## Response `200`

Generated document in an OpenAI chat-completion shape.

- ChatCompletionResponse
  - `id` string, required
  - `object` 'chat.completion', required
  - `created` integer: Unix timestamp.
  - `model` string
  - `choices` object[], required
    - `index` integer
    - `message` ChatMessage
      - `role` 'system' | 'user' | 'assistant' | 'tool', required
      - `content` string, required: Message text.
    - `finish_reason` string
  - `usage` object
    - `prompt_tokens` integer
    - `completion_tokens` integer
    - `total_tokens` integer

## Other responses

- `400`: Invalid request body or parameters.
- `401`: Missing or invalid API key. Pass Authorization: Bearer kr_live_...
- `402`: Not enough credits, or the API key's daily credit cap is reached.
- `429`: Rate limit exceeded (default 60 requests per minute per key). Includes a Retry-After header.

---

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