---
title: "Create a response-format preset"
method: POST
path: "/api/response-format-presets/"
tags: ["prompts"]
---

# Create a response-format preset

`POST /api/response-format-presets/`

Save JSON-schema text in the caller's project. The content remains a JSON string and is validated without reformatting. Project and creator are server stamped.

## Headers

- `Authorization` string, required

## Request body

- object
  - `name` string, required
  - `response_format_content` string, required — JSON text preserved verbatim. It must decode to an object with a non-empty `name` and an object-valued `schema`.
  - `is_enforcing_response_format` boolean

## Response `201`

Preset created.

- PromptsApiResponseFormatPresetsCreateResponse201
  - `id` string, required
  - `name` string, required
  - `project` string, required — Server-stamped project UUID.
  - `created_by` integer, nullable, required — Server-stamped creator user ID.
  - `response_format_content` string, required — JSON text preserved verbatim. It must decode to an object with a non-empty `name` and an object-valued `schema`.
  - `is_enforcing_response_format` boolean, required

## Other responses

- `400` — Invalid preset content.
- `401` — Authentication failed.

## Changes

> 6 revisions in range; 2 could not be searched.

- **2026-08-13** `4e064cf81dae` — 1 breaking, 6 info
  - the response property `created_by` became nullable for the status `201`
  - api tag `prompts` added
  - api tag `platformApi` removed
  - the `is_enforcing_response_format` request property default value `false` was added
  - …3 more
- **2026-07-31** `c26d550029f8` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/keywordsai/apis/api-reference/changes/api/response-format-presets/post.md)

---

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