---
title: "Changes to Create or replace function"
method: PUT
path: "/v1/function"
---

# Changes to Create or replace function

`PUT /v1/function`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 40 of 101 revisions.

- **2026-10-30** `8f5039399f77`: 55 breaking, 22 info
- **2026-10-15** `aa86a5dee6e9`: 2 info
- **2026-10-03** `877ab1fd2a22`: 1 warning, 3 info
- **2026-09-25** `c709dafda419`: 1 warning, 1 info
- **2026-09-22** `2e0e9e00d0bd`: 4 info
- **2026-09-03** `ebac33c1422e`: 1 breaking
- **2026-08-21** `2ddd4c0bfd2c`: 2 warning, 8 info
- **2026-08-13** `e05ef145579d`: 6 warning, 56 info
- **2026-08-13** `46b20afded4f`: 1 breaking, 8 warning, 1 info
- **2026-06-22** `268c9a28fa8a`: 1 warning, 1 info
- **2026-06-11** `d5d64dbdb039`: 8 info
- **2026-05-21** `7c3461755f69`: 10 info
- **2026-04-08** `a21b724fece9`: 4 info
- **2026-03-04** `79e3efbd784c`: 2 breaking, 6 warning, 10 info
- **2026-02-19** `1addb77138a9`: 4 breaking, 4 warning
- **2026-02-10** `4918f9bd942e`: 2 breaking, 8 warning, 16 info
- **2026-02-02** `8dda984bb502`: 2 breaking, 14 info
- **2026-01-23** `79b5f945907c`: 1 breaking, 10 warning, 15 info
- **2026-01-13** `97c5791b3df1`: 3 breaking, 8 info
- **2026-01-08** `c7496daaaa37`: 4 warning, 16 info
- **2025-12-04** `b6967d956e2f`: 4 warning, 10 info
- **2025-11-18** `ae80b8fa951b`: 16 info
- **2025-09-29** `167acf59c7c3`: 4 info
- **2025-08-15** `a3fce07a60cf`: 2 breaking, 6 info
- **2025-08-07** `7b003086a539`: 1 warning, 3 info
- **2025-07-16** `29c3853d6db5`: 4 info
- **2025-06-17** `77a2d5797d94`: 14 breaking, 1 warning, 29 info
- **2024-09-30** `ac2727014d93`: 8 breaking, 2 info
- **2024-09-25** `68955d9009ff`: 1 breaking, 1 info
- **2024-09-24** `a774951c03d7`: 5 breaking, 4 warning, 7 info
- **2024-09-21** `1e677afe2f7b`: 5 breaking, 3 warning, 8 info
- **2024-08-08** `344821ebe826`: 3 breaking, 3 info
- **2024-07-30** `573fc67af16c`: 2 breaking, 6 info
- **2024-07-30** `3f21ecbe1105`: 2 breaking, 6 info
- **2024-07-30** `89380375fe8d`: 2 breaking, 6 info
- **2024-07-30** `9635568dd298`: 4 breaking, 12 info
- **2024-07-30** `c7dbe91152de`: 1 breaking, 3 info
- **2024-07-30** `1f0be1e86025`: 1 breaking, 3 info
- **2024-07-30** `4f368f2da2f1`: 1 breaking, 3 info
- **2024-07-23** `9eeeeb30b963`: 1 info

## Changes

- **2026-10-30** `8f5039399f77`: 55 breaking, 22 info
  - removed `subschema #1, subschema #2, subschema #3, subschema #4, subschema #5, subschema #6, subschema #7, subschema #8` from the `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/` request property `anyOf` list
  - the request property `description` became not nullable
  - the request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/bundle_id` became not nullable
  - the request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/location/anyOf[subschema #3]/evaluator_definition` became not nullable
  - the request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/location/anyOf[subschema #3]/parameters/additionalProperties/` became not nullable
  - the request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/preview` became not nullable
  - the request property `function_data/anyOf[subschema #4: remote_eval]/parameters/additionalProperties/` became not nullable
  - the request property `function_data/anyOf[subschema #4: remote_eval]/parameters_version` became not nullable
  - the request property `function_data/anyOf[subschema #5: global]/config` became not nullable
  - the request property `function_data/anyOf[subschema #5: global]/config/additionalProperties/` became not nullable
  - the request property `function_data/anyOf[subschema #8: parameters]/__schema/properties/additionalProperties/additionalProperties/` became not nullable
  - the request property `function_data/anyOf[subschema #8: parameters]/data/additionalProperties/` became not nullable
  - the request property `function_schema` became not nullable
  - the request property `function_schema/parameters` became not nullable
  - the request property `function_schema/returns` became not nullable
  - the request property `function_type` became not nullable
  - the request property `origin` became not nullable
  - the request property `origin/internal` became not nullable
  - the request property `prompt_data` became not nullable
  - the request property `prompt_data/mcp` became not nullable
  - the request property `prompt_data/mcp/additionalProperties/oneOf[subschema #1: MCP server id. This is used for project-level MCP server definitions.]/enabled_tools` became not nullable
  - the request property `prompt_data/mcp/additionalProperties/oneOf[subschema #2: MCP server url. This is used for inline definitions of MCP servers.]/enabled_tools` became not nullable
  - the request property `prompt_data/options` became not nullable
  - the request property `prompt_data/options/endpoint_name` became not nullable
  - the request property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/additionalProperties/` became not nullable
  - the request property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/chat_template_kwargs/additionalProperties/` became not nullable
  - the request property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/response_format/anyOf[subschema #2: json_schema]/json_schema/schema/anyOf[subschema #1: object]/additionalProperties/` became not nullable
  - the request property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/response_format/anyOf[subschema #2: json_schema]/json_schema/strict` became not nullable
  - the request property `prompt_data/options/params/anyOf[subschema #2: AnthropicModelParams]/additionalProperties/` became not nullable
  - the request property `prompt_data/options/params/anyOf[subschema #3: GoogleModelParams]/additionalProperties/` became not nullable
  - the request property `prompt_data/options/params/anyOf[subschema #4: WindowAIModelParams]/additionalProperties/` became not nullable
  - the request property `prompt_data/options/params/anyOf[subschema #5: JsCompletionParams]/additionalProperties/` became not nullable
  - the request property `prompt_data/origin` became not nullable
  - the request property `prompt_data/parser` became not nullable
  - the request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/function_call` became not nullable
  - the request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/name` became not nullable
  - the request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/reasoning` became not nullable
  - the request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/reasoning/items/content` became not nullable
  - the request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/reasoning/items/id` became not nullable
  - the request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/reasoning_signature` became not nullable
  - …37 more
- **2026-10-15** `aa86a5dee6e9`: 2 info
  - added `subschema #10: simulation` to the `function_data` request property `anyOf` list
  - added `subschema #10: simulation` to the `function_data` response property `anyOf` list for the response status `200`
- **2026-10-03** `877ab1fd2a22`: 1 warning, 3 info
  - added the new `project_group_projects` enum value to the `origin/object_type` response property for the response status `200`
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/chat_template_kwargs`
  - added the new `project_group_projects` enum value to the request property `origin/object_type`
  - added the optional property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/chat_template_kwargs` to the response with the `200` status
- **2026-09-25** `c709dafda419`: 1 warning, 1 info
  - added the new `org_account` enum value to the `origin/object_type` response property for the response status `200`
  - added the new `org_account` enum value to the request property `origin/object_type`
- **2026-09-22** `2e0e9e00d0bd`: 4 info
  - added `#/components/schemas/ChatCompletionContentPartInputAudioWithTitle` to the `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/` request property `anyOf` list
  - added `#/components/schemas/ChatCompletionContentPartInputAudioWithTitle` to the `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/` request property `anyOf` list
  - added `#/components/schemas/ChatCompletionContentPartInputAudioWithTitle` to the `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/ChatCompletionContentPartInputAudioWithTitle` to the `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/` response property `anyOf` list for the response status `200`
- **2026-09-03** `ebac33c1422e`: 1 breaking
  - request body became required
- **2026-08-21** `2ddd4c0bfd2c`: 2 warning, 8 info
  - added the new `ai_secret` enum value to the `origin/object_type` response property for the response status `200`
  - added the new `org_ai_secret` enum value to the `origin/object_type` response property for the response status `200`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/source_facet_function`
  - added the new optional request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/source_facet_function`
  - added `subschema #3: preprocessor_inline` to the `prompt_data/preprocessor` request property `anyOf` list
  - added the new `ai_secret` enum value to the request property `origin/object_type`
  - added the new `org_ai_secret` enum value to the request property `origin/object_type`
  - added the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/source_facet_function` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/source_facet_function` to the response with the `200` status
  - added `subschema #3: preprocessor_inline` to the `prompt_data/preprocessor` response property `anyOf` list for the response status `200`
- **2026-08-13** `e05ef145579d`: 6 warning, 56 info
  - removed `#/components/schemas/NullableSavedFunctionId, subschema #2` from the `function_data/anyOf[subschema #6: facet]/preprocessor` request property `allOf` list
  - removed `#/components/schemas/NullableSavedFunctionId, subschema #2` from the `function_data/anyOf[subschema #7: batched_facet]/preprocessor` request property `allOf` list
  - added the new `community` enum value to the `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/generation_settings/algorithm` response property for the response status `200`
  - added the new `community` enum value to the `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/generation_settings/algorithm` response property for the response status `200`
  - added the new `org_audit_logs` enum value to the `origin/object_type` response property for the response status `200`
  - added the new `project_group` enum value to the `origin/object_type` response property for the response status `200`
  - added the new optional request property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #1: system]/content/anyOf[subschema #2: array]/items/cache_control/ttl`
  - added the new optional request property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/anyOf[subschema #1: text]/cache_control/ttl`
  - added the new optional request property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/anyOf[subschema #2: image_url]/cache_control`
  - added the new optional request property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/anyOf[subschema #3: file]/cache_control`
  - added the new optional request property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/content/anyOf[subschema #2]/items/cache_control/ttl`
  - added the new optional request property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #4: tool]/content/anyOf[subschema #2: array]/items/cache_control/ttl`
  - added the new optional request property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #6: developer]/content/anyOf[subschema #2: array]/items/cache_control/ttl`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/automation_btql_filter`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/btql_filter`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/reconcile_mode`
  - added the new optional request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/automation_btql_filter`
  - added the new optional request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/btql_filter`
  - added the new optional request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/reconcile_mode`
  - added the new optional request property `prompt_data/options/endpoint_name`
  - added the new optional request property `prompt_data/parser/allow_skip`
  - added the new optional request property `prompt_data/preprocessor`
  - added the new optional request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #1: system]/content/anyOf[subschema #2: array]/items/cache_control/ttl`
  - added the new optional request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/anyOf[subschema #1: text]/cache_control/ttl`
  - added the new optional request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/anyOf[subschema #2: image_url]/cache_control`
  - added the new optional request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/anyOf[subschema #3: file]/cache_control`
  - added the new optional request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/content/anyOf[subschema #2]/items/cache_control/ttl`
  - added the new optional request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #4: tool]/content/anyOf[subschema #2: array]/items/cache_control/ttl`
  - added the new optional request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #6: developer]/content/anyOf[subschema #2: array]/items/cache_control/ttl`
  - added `subschema #1: function, subschema #2: global, subschema #3: preprocessor_inline, subschema #4` to the `function_data/anyOf[subschema #6: facet]/preprocessor` request property `anyOf` list
  - added `subschema #1: function, subschema #2: global, subschema #3: preprocessor_inline, subschema #4` to the `function_data/anyOf[subschema #7: batched_facet]/preprocessor` request property `anyOf` list
  - added the new `community` enum value to the request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/generation_settings/algorithm`
  - added the new `community` enum value to the request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/generation_settings/algorithm`
  - added the new `org_audit_logs` enum value to the request property `origin/object_type`
  - added the new `project_group` enum value to the request property `origin/object_type`
  - added the optional property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #1: system]/content/anyOf[subschema #2: array]/items/cache_control/ttl` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/anyOf[subschema #1: text]/cache_control/ttl` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/anyOf[subschema #2: image_url]/cache_control` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/anyOf[subschema #3: file]/cache_control` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/content/anyOf[subschema #2]/items/cache_control/ttl` to the response with the `200` status
  - …22 more
- **2026-08-13** `46b20afded4f`: 1 breaking, 8 warning, 1 info
  - removed the enum value `org_audit_logs` of the request property `origin/object_type`
  - removed the request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/automation_btql_filter`
  - removed the request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/btql_filter`
  - removed the request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/automation_btql_filter`
  - removed the request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/btql_filter`
  - removed the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/automation_btql_filter` from the response with the `200` status
  - removed the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/btql_filter` from the response with the `200` status
  - removed the optional property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/automation_btql_filter` from the response with the `200` status
  - removed the optional property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/btql_filter` from the response with the `200` status
  - removed the `org_audit_logs` enum value from the `origin/object_type` response property for the response status `200`
- **2026-06-22** `268c9a28fa8a`: 1 warning, 1 info
  - added the new `org_audit_logs` enum value to the `origin/object_type` response property for the response status `200`
  - added the new `org_audit_logs` enum value to the request property `origin/object_type`
- **2026-06-11** `d5d64dbdb039`: 8 info
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/automation_btql_filter`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/btql_filter`
  - added the new optional request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/automation_btql_filter`
  - added the new optional request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/btql_filter`
  - added the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/automation_btql_filter` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/btql_filter` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/automation_btql_filter` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/btql_filter` to the response with the `200` status
- **2026-05-21** `7c3461755f69`: 10 info
  - added the new optional request property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/reasoning_signature`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/disable_reconciliation`
  - added the new optional request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/disable_reconciliation`
  - added the new optional request property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/reasoning_signature`
  - added `subschema #3: classifier` to the `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/location/anyOf[subschema #1: experiment]/position` request property `anyOf` list
  - added the optional property `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/reasoning_signature` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/disable_reconciliation` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/disable_reconciliation` to the response with the `200` status
  - added the optional property `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #3: assistant]/reasoning_signature` to the response with the `200` status
  - added `subschema #3: classifier` to the `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/location/anyOf[subschema #1: experiment]/position` response property `anyOf` list for the response status `200`
- **2026-04-08** `a21b724fece9`: 4 info
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/generation_settings`
  - added the new optional request property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/generation_settings`
  - added the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/items/topic_map_data/generation_settings` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #9]/allOf[#/components/schemas/TopicMapData]/generation_settings` to the response with the `200` status
- **2026-03-04** `79e3efbd784c`: 2 breaking, 6 warning, 10 info
  - the response property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/bundle_id` became nullable for the status `200`
  - the response property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/bundle_id` became optional for the status `200`
  - added the new `sandbox` enum value to the `function_data/anyOf[subschema #5: global]/function_type` response property for the response status `200`
  - added the new `sandbox` enum value to the `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `sandbox` enum value to the `function_data/anyOf[subschema #7: batched_facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `sandbox` enum value to the `function_type` response property for the response status `200`
  - added the new `sandbox` enum value to the `prompt_data/tool_functions/items/allOf[#/components/schemas/SavedFunctionId]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `sandbox` enum value to the `prompt_data/tool_functions/items/allOf[subschema #2]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added `subschema #3` to the `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/location` request property `anyOf` list
  - the request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/bundle_id` became nullable
  - the request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/bundle_id` became optional
  - added the new `sandbox` enum value to the request property `function_data/anyOf[subschema #5: global]/function_type`
  - added the new `sandbox` enum value to the request property `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type`
  - added the new `sandbox` enum value to the request property `function_data/anyOf[subschema #7: batched_facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type`
  - added the new `sandbox` enum value to the request property `function_type`
  - added the new `sandbox` enum value to the request property `prompt_data/tool_functions/items/allOf[#/components/schemas/SavedFunctionId]/anyOf[subschema #2: global]/function_type`
  - added the new `sandbox` enum value to the request property `prompt_data/tool_functions/items/allOf[subschema #2]/anyOf[subschema #2: global]/function_type`
  - added `subschema #3` to the `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/location` response property `anyOf` list for the response status `200`
- **2026-02-19** `1addb77138a9`: 4 breaking, 4 warning
  - the `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/` request property type changed from `object` to `array`
  - the `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/` response's property type changed from `object` to `array` for status `200`
  - removed the required property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/function_name` from the response with the `200` status
  - removed the required property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_data` from the response with the `200` status
  - removed the request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/function_name`
  - removed the request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_data`
  - removed the request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_id`
  - removed the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_id` from the response with the `200` status
- **2026-02-10** `4918f9bd942e`: 2 breaking, 8 warning, 16 info
  - removed `subschema #8` from the `function_data` request property `anyOf` list
  - the response property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_data/bundle_key` became optional for the status `200`
  - removed the request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_data/report`
  - removed the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_data/report` from the response with the `200` status
  - added the new `parameters` enum value to the `function_data/anyOf[subschema #5: global]/function_type` response property for the response status `200`
  - added the new `parameters` enum value to the `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `parameters` enum value to the `function_data/anyOf[subschema #7: batched_facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `parameters` enum value to the `function_type` response property for the response status `200`
  - added the new `parameters` enum value to the `prompt_data/tool_functions/items/allOf[#/components/schemas/SavedFunctionId]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `parameters` enum value to the `prompt_data/tool_functions/items/allOf[subschema #2]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new optional request property `function_data/anyOf[subschema #4: remote_eval]/parameters_version`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_data/report_key`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_data/topic_names`
  - added `subschema #8: parameters, subschema #9` to the `function_data` request property `anyOf` list
  - the request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_data/bundle_key` became optional
  - added the new `parameters` enum value to the request property `function_data/anyOf[subschema #5: global]/function_type`
  - added the new `parameters` enum value to the request property `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type`
  - added the new `parameters` enum value to the request property `function_data/anyOf[subschema #7: batched_facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type`
  - added the new `parameters` enum value to the request property `function_type`
  - added the new `parameters` enum value to the request property `prompt_data/tool_functions/items/allOf[#/components/schemas/SavedFunctionId]/anyOf[subschema #2: global]/function_type`
  - added the new `parameters` enum value to the request property `prompt_data/tool_functions/items/allOf[subschema #2]/anyOf[subschema #2: global]/function_type`
  - added the optional property `function_data/anyOf[subschema #4: remote_eval]/parameters_version` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_data/report_key` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps/additionalProperties/topic_map_data/topic_names` to the response with the `200` status
  - added `subschema #8: parameters, subschema #9` to the `function_data` response property `anyOf` list for the response status `200`
  - removed `subschema #8` from the `function_data` response property `anyOf` list for the response status `200`
- **2026-02-02** `8dda984bb502`: 2 breaking, 14 info
  - added `#/components/schemas/SavedFunctionId, subschema #2` to the `prompt_data/tool_functions/items/` request property `allOf` list
  - removed `subschema #1: function, subschema #2: global` from the `prompt_data/tool_functions/items/` request property `anyOf` list
  - added the new optional request property `function_data/anyOf[subschema #6: facet]/embedding_model`
  - added the new optional request property `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #1: function]/version`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/facets/items/embedding_model`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #1: function]/version`
  - added the new optional request property `function_data/anyOf[subschema #7: batched_facet]/topic_maps`
  - added `subschema #8` to the `function_data` request property `anyOf` list
  - added the optional property `function_data/anyOf[subschema #6: facet]/embedding_model` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #1: function]/version` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #7: batched_facet]/facets/items/embedding_model` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #7: batched_facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #1: function]/version` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #7: batched_facet]/topic_maps` to the response with the `200` status
  - added `#/components/schemas/SavedFunctionId, subschema #2` to the `prompt_data/tool_functions/items/` response property `allOf` list for the response status `200`
  - added `subschema #8` to the `function_data` response property `anyOf` list for the response status `200`
  - removed `subschema #1: function, subschema #2: global` from the `prompt_data/tool_functions/items/` response property `anyOf` list for the response status `200`
- **2026-01-23** `79b5f945907c`: 1 breaking, 10 warning, 15 info
  - the response property `prompt_data/parser/choice_scores` became optional for the status `200`
  - added the new `classifier` enum value to the `function_data/anyOf[subschema #5: global]/function_type` response property for the response status `200`
  - added the new `classifier` enum value to the `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `classifier` enum value to the `function_data/anyOf[subschema #7: batched_facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `classifier` enum value to the `function_type` response property for the response status `200`
  - added the new `classifier` enum value to the `prompt_data/tool_functions/items/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `tag` enum value to the `function_data/anyOf[subschema #5: global]/function_type` response property for the response status `200`
  - added the new `tag` enum value to the `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `tag` enum value to the `function_data/anyOf[subschema #7: batched_facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new `tag` enum value to the `function_type` response property for the response status `200`
  - added the new `tag` enum value to the `prompt_data/tool_functions/items/anyOf[subschema #2: global]/function_type` response property for the response status `200`
  - added the new optional request property `prompt_data/parser/allow_no_match`
  - added the new optional request property `prompt_data/parser/choice`
  - the request property `prompt_data/parser/choice_scores` became optional
  - added the new `classifier` enum value to the request property `function_data/anyOf[subschema #5: global]/function_type`
  - added the new `classifier` enum value to the request property `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type`
  - added the new `classifier` enum value to the request property `function_data/anyOf[subschema #7: batched_facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type`
  - added the new `classifier` enum value to the request property `function_type`
  - added the new `classifier` enum value to the request property `prompt_data/tool_functions/items/anyOf[subschema #2: global]/function_type`
  - added the new `tag` enum value to the request property `function_data/anyOf[subschema #5: global]/function_type`
  - added the new `tag` enum value to the request property `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type`
  - added the new `tag` enum value to the request property `function_data/anyOf[subschema #7: batched_facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type`
  - added the new `tag` enum value to the request property `function_type`
  - added the new `tag` enum value to the request property `prompt_data/tool_functions/items/anyOf[subschema #2: global]/function_type`
  - added the optional property `prompt_data/parser/allow_no_match` to the response with the `200` status
  - added the optional property `prompt_data/parser/choice` to the response with the `200` status
- **2026-01-13** `97c5791b3df1`: 3 breaking, 8 info
  - the request property `function_data/anyOf[subschema #5: global]/function_type` became not nullable
  - the request property `function_data/anyOf[subschema #6: facet]/preprocessor/allOf[#/components/schemas/NullableSavedFunctionId]/anyOf[subschema #2: global]/function_type` became not nullable
  - the request property `prompt_data/tool_functions/items/anyOf[subschema #2: global]/function_type` became not nullable
  - added `#/components/schemas/BatchedFacetData` to the `function_data` request property `anyOf` list
  - the `function_type` request property default value `scorer` was added
  - the `function_type` request property default value `scorer` was added
  - the `function_type` request property default value `scorer` was added
  - added `#/components/schemas/BatchedFacetData` to the `function_data` response property `anyOf` list for the response status `200`
  - the `function_type` response's property default value `scorer` was added for the status `200`
  - the `function_type` response's property default value `scorer` was added for the status `200`
  - the `function_type` response's property default value `scorer` was added for the status `200`
- **2026-01-08** `c7496daaaa37`: 4 warning, 16 info
  - added the new `facet` enum value to the `function_type` response property for the response status `200`
  - added the new `preprocessor` enum value to the `function_type` response property for the response status `200`
  - added the new `quickjs` enum value to the `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/runtime_context/runtime` response property for the response status `200`
  - added the new `quickjs` enum value to the `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #2: inline]/runtime_context/runtime` response property for the response status `200`
  - added the new optional request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #2: inline]/code_hash`
  - added the new optional request property `function_data/anyOf[subschema #5: global]/config`
  - added the new optional request property `function_data/anyOf[subschema #5: global]/function_type`
  - added the new optional request property `prompt_data/template_format`
  - added the new optional request property `prompt_data/tool_functions/items/anyOf[subschema #2: global]/function_type`
  - added `#/components/schemas/FacetData` to the `function_data` request property `anyOf` list
  - added the new `facet` enum value to the request property `function_type`
  - added the new `preprocessor` enum value to the request property `function_type`
  - added the new `quickjs` enum value to the request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/runtime_context/runtime`
  - added the new `quickjs` enum value to the request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #2: inline]/runtime_context/runtime`
  - added the optional property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #2: inline]/code_hash` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #5: global]/config` to the response with the `200` status
  - added the optional property `function_data/anyOf[subschema #5: global]/function_type` to the response with the `200` status
  - added the optional property `prompt_data/template_format` to the response with the `200` status
  - added the optional property `prompt_data/tool_functions/items/anyOf[subschema #2: global]/function_type` to the response with the `200` status
  - added `#/components/schemas/FacetData` to the `function_data` response property `anyOf` list for the response status `200`
- **2025-12-04** `b6967d956e2f`: 4 warning, 10 info
  - added the new `browser` enum value to the `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/runtime_context/runtime` response property for the response status `200`
  - added the new `browser` enum value to the `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #2: inline]/runtime_context/runtime` response property for the response status `200`
  - added the new `custom_view` enum value to the `function_type` response property for the response status `200`
  - added the new `none` enum value to the `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/reasoning_effort` response property for the response status `200`
  - added the new optional request property `prompt_data/mcp`
  - added `#/components/schemas/ChatCompletionContentPartFileWithTitle` to the `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/` request property `anyOf` list
  - added `#/components/schemas/ChatCompletionContentPartFileWithTitle` to the `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/` request property `anyOf` list
  - added the new `browser` enum value to the request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #1: bundle]/allOf[#/components/schemas/CodeBundle]/runtime_context/runtime`
  - added the new `browser` enum value to the request property `function_data/anyOf[subschema #2: code]/data/anyOf[subschema #2: inline]/runtime_context/runtime`
  - added the new `custom_view` enum value to the request property `function_type`
  - added the new `none` enum value to the request property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/reasoning_effort`
  - added the optional property `prompt_data/mcp` to the response with the `200` status
  - added `#/components/schemas/ChatCompletionContentPartFileWithTitle` to the `function_data/anyOf[subschema #3: graph]/nodes/additionalProperties/anyOf[subschema #8]/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/ChatCompletionContentPartFileWithTitle` to the `prompt_data/prompt/anyOf[subschema #1: chat]/messages/items/anyOf[subschema #2: user]/content/anyOf[subschema #2: array]/items/` response property `anyOf` list for the response status `200`
- **2025-11-18** `ae80b8fa951b`: 16 info
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/reasoning_budget`
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/reasoning_enabled`
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #3: GoogleModelParams]/reasoning_budget`
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #3: GoogleModelParams]/reasoning_enabled`
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #4: WindowAIModelParams]/reasoning_budget`
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #4: WindowAIModelParams]/reasoning_enabled`
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #5: JsCompletionParams]/reasoning_budget`
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #5: JsCompletionParams]/reasoning_enabled`
  - added the optional property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/reasoning_budget` to the response with the `200` status
  - added the optional property `prompt_data/options/params/anyOf[subschema #1: OpenAIModelParams]/reasoning_enabled` to the response with the `200` status
  - added the optional property `prompt_data/options/params/anyOf[subschema #3: GoogleModelParams]/reasoning_budget` to the response with the `200` status
  - added the optional property `prompt_data/options/params/anyOf[subschema #3: GoogleModelParams]/reasoning_enabled` to the response with the `200` status
  - added the optional property `prompt_data/options/params/anyOf[subschema #4: WindowAIModelParams]/reasoning_budget` to the response with the `200` status
  - added the optional property `prompt_data/options/params/anyOf[subschema #4: WindowAIModelParams]/reasoning_enabled` to the response with the `200` status
  - added the optional property `prompt_data/options/params/anyOf[subschema #5: JsCompletionParams]/reasoning_budget` to the response with the `200` status
  - added the optional property `prompt_data/options/params/anyOf[subschema #5: JsCompletionParams]/reasoning_enabled` to the response with the `200` status
- **2025-09-29** `167acf59c7c3`: 4 info
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #2: AnthropicModelParams]/reasoning_budget`
  - added the new optional request property `prompt_data/options/params/anyOf[subschema #2: AnthropicModelParams]/reasoning_enabled`
  - added the optional property `prompt_data/options/params/anyOf[subschema #2: AnthropicModelParams]/reasoning_budget` to the response with the `200` status
  - added the optional property `prompt_data/options/params/anyOf[subschema #2: AnthropicModelParams]/reasoning_enabled` to the response with the `200` status
- …earlier changes are on the page: https://skmtc.dev/braintrustdata/apis/braintrust-api/changes/v1/function/put

---

[Operation](https://skmtc.dev/braintrustdata/apis/braintrust-api/docs/v1/function/put.md) - [API](https://skmtc.dev/braintrustdata/apis/braintrust-api.md) - [Page](https://skmtc.dev/braintrustdata/apis/braintrust-api/changes/v1/function/put)
