---
title: "Update Config Template"
method: PUT
path: "/projects/{project_id}/versions/{config_id}"
tags: ["Configs"]
---

# Update Config Template

`PUT /projects/{project_id}/versions/{config_id}`

## Request

- Base URL: `https://api.puppeteerai.com`
- URL: `https://api.puppeteerai.com/projects/{project_id}/versions/{config_id}`
- Auth: none declared. Required headers: `Authorization`

Update the draft config. Every save validates and applies the config.

## Path parameters

- `project_id` string, required
- `config_id` string, required

## Headers

- `Authorization` string, required

## Request body

- PutConfigInput
  - `template` union, required
    - DeclarativeConfigInput
      - `llm_model` string, nullable
      - `llm_temperature` number, nullable
      - `allow_document_uploads` boolean, nullable
      - `reuse_threads_by_voice_phone_number` boolean, nullable
      - `language` string, nullable
      - `custom_modules` string[]
      - `description` string, nullable
      - `reply_system_prompt` string, nullable
      - `opener_system_prompt` string, nullable
      - `voice_opener_message` string, nullable
      - `video_opener_message` string, nullable
      - `behaviors` Behavior[], required
        - `name` string, required
        - `template` string, required
      - `global_code` string, nullable
      - `collected_data_keys` string[], nullable
      - `timezone` string, nullable
      - `multi_message_mode` boolean, nullable
      - `send_voice_opener_in_outbound` boolean, nullable
      - `llm_analysis_schema` object, nullable
      - `pre_call_condition` string, nullable
      - `http_services` HttpServiceInput[]
        - `name` string
        - `method` string
        - `url` string
        - `headers` HttpServiceHeaderInput[]
          - `key` string
          - `value` string
        - `body` string
        - `params` HttpServiceParamInput[]
          - `name` string
        - `defaultMock` object, nullable
        - `expectedStatusCodes` integer[]
      - `alerts` object[]
    - BlockEditorConfigInput
      - `llm_model` string, nullable
      - `llm_temperature` number, nullable
      - `allow_document_uploads` boolean, nullable
      - `reuse_threads_by_voice_phone_number` boolean, nullable
      - `language` string, nullable
      - `custom_modules` string[]
      - `custom_actions` object[], required
      - `http_services` object[]
      - `system_prompt` string
      - `timezone` string, nullable
      - `triggers` object[], required
      - `variables` object[], required
      - `voice_opener_message` string, nullable
      - `video_opener_message` string, nullable
      - `multi_message_mode` boolean, nullable
      - `send_voice_opener_in_outbound` boolean, nullable
      - `llm_analysis_schema` object, nullable
      - `pre_call_condition` object, nullable
      - `call_screening` CallScreeningSettings
        - `enabled` boolean
        - `screener_reply` string, nullable
        - `unavailable_message` string, nullable
      - `alerts` object[]
  - `source` object, nullable
  - `is_internal` boolean, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/getpuppeteer/apis/puppeteer-core-api.md) - [All operations](https://skmtc.dev/getpuppeteer/apis/puppeteer-core-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getpuppeteer/apis/puppeteer-core-api/revisions/94b4e928b42f?raw)
