---
title: "Changes to Create Persona"
method: POST
path: "/persona"
---

# Changes to Create Persona

`POST /persona`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 2 of 13 revisions.

- **2026-01-06** `2d941ea53eb3` — 15 breaking, 14 warning, 50 info
- **2025-08-21** `9321c45d93b5` — 37 breaking, 14 warning, 28 info

## Changes

- **2026-01-06** `2d941ea53eb3` — 15 breaking, 14 warning, 50 info
  - the request property `datetime_aware` became required
  - the request property `description` became required
  - the request property `document_set_ids` became required
  - the request property `is_public` became required
  - the request property `llm_filter_extraction` became required
  - the request property `llm_relevance_filter` became required
  - the request property `name` became required
  - the request property `num_chunks` became required
  - the request property `recency_bias` became required
  - the request property `system_prompt` became required
  - the request property `task_prompt` became required
  - the request property `tool_ids` became required
  - the `user_file_ids/anyOf[subschema #1]/items/` request property type/format changed from `integer`/`` to `string`/``
  - the `source` response property const value `federated_slack` was removed for the status `200`
  - the `user_file_ids/items/` response's property type/format changed from `integer`/`` to `string`/`` for status `200`
  - removed the request property `icon_color`
  - removed the request property `icon_shape`
  - removed the request property `include_citations`
  - removed the request property `prompt_ids`
  - removed the request property `user_folder_ids`
  - removed the optional property `icon_color` from the response with the `200` status
  - removed the optional property `icon_shape` from the response with the `200` status
  - removed the optional property `user_folder_ids` from the response with the `200` status
  - added the new `bitbucket` enum value to the `document_sets/items/cc_pair_summaries/items/source` response property for the response status `200`
  - added the new `coda` enum value to the `document_sets/items/cc_pair_summaries/items/source` response property for the response status `200`
  - added the new `drupal_wiki` enum value to the `document_sets/items/cc_pair_summaries/items/source` response property for the response status `200`
  - added the new `outline` enum value to the `document_sets/items/cc_pair_summaries/items/source` response property for the response status `200`
  - added the new `testrail` enum value to the `document_sets/items/cc_pair_summaries/items/source` response property for the response status `200`
  - added the new `user_file` enum value to the `document_sets/items/cc_pair_summaries/items/source` response property for the response status `200`
  - api tag `public` added
  - added the new optional request property `icon_name`
  - added the new optional request property `replace_base_system_prompt`
  - added the optional property `datetime_aware` to the response with the `200` status
  - added the optional property `replace_base_system_prompt` to the response with the `200` status
  - added the optional property `system_prompt` to the response with the `200` status
  - added the optional property `task_prompt` to the response with the `200` status
  - added the optional property `tools/items/agent_creation_selectable` to the response with the `200` status
  - added the optional property `tools/items/chat_selectable` to the response with the `200` status
  - added the optional property `tools/items/default_enabled` to the response with the `200` status
  - added the optional property `tools/items/enabled` to the response with the `200` status
  - …39 more
- **2025-08-21** `9321c45d93b5` — 37 breaking, 14 warning, 28 info
  - the `user_file_ids/anyOf[subschema #1]/items/` request property type/format changed from `string`/`` to `integer`/``
  - the response property `builtin_persona` became optional for the status `200`
  - the response property `description` became optional for the status `200`
  - the response property `display_priority` became optional for the status `200`
  - the response property `document_sets` became optional for the status `200`
  - the response property `groups` became optional for the status `200`
  - the response property `id` became optional for the status `200`
  - the response property `is_default_persona` became optional for the status `200`
  - the response property `is_public` became optional for the status `200`
  - the response property `is_visible` became optional for the status `200`
  - the response property `labels` became optional for the status `200`
  - the response property `llm_model_provider_override` became optional for the status `200`
  - the response property `llm_model_version_override` became optional for the status `200`
  - the response property `name` became optional for the status `200`
  - the response property `num_chunks` became optional for the status `200`
  - the response property `owner` became optional for the status `200`
  - the response property `owner/anyOf[subschema #1: MinimalUserSnapshot]/email` became optional for the status `200`
  - the response property `owner/anyOf[subschema #1: MinimalUserSnapshot]/id` became optional for the status `200`
  - the response property `starter_messages` became optional for the status `200`
  - the response property `tools` became optional for the status `200`
  - the response property `tools/items/custom_headers` became optional for the status `200`
  - the response property `tools/items/definition` became optional for the status `200`
  - the response property `tools/items/description` became optional for the status `200`
  - the response property `tools/items/display_name` became optional for the status `200`
  - the response property `tools/items/id` became optional for the status `200`
  - the response property `tools/items/in_code_tool_id` became optional for the status `200`
  - the response property `tools/items/name` became optional for the status `200`
  - the response property `tools/items/passthrough_auth` became optional for the status `200`
  - the response property `uploaded_image_id` became optional for the status `200`
  - the response property `user_file_ids` became optional for the status `200`
  - the response property `users` became optional for the status `200`
  - the response property `users/items/email` became optional for the status `200`
  - the response property `users/items/id` became optional for the status `200`
  - the `user_file_ids/items/` response's property type/format changed from `string`/`` to `integer`/`` for status `200`
  - removed the required property `icon_name` from the response with the `200` status
  - removed the required property `llm_filter_extraction` from the response with the `200` status
  - removed the required property `llm_relevance_filter` from the response with the `200` status
  - removed the request property `icon_name`
  - removed the request property `replace_base_system_prompt`
  - removed the optional property `datetime_aware` from the response with the `200` status
  - …39 more

---

[Operation](https://skmtc.dev/onyx-dot-app/apis/onyx-api/docs/persona/post.md) · [API](https://skmtc.dev/onyx-dot-app/apis/onyx-api.md) · [Page](https://skmtc.dev/onyx-dot-app/apis/onyx-api/changes/persona/post)
