# Update package setup

`deal_packages.update_setup`

Update selected application, applicant confirmation and delivery settings in the package draft. Omitted fields and delivery steps are preserved. Publish separately for future deals. Use the returned revision for subsequent edits; a combined edit can advance it more than once. This action does not send emails or submit deals. Identical retries return the original saved setup; read get_setup again before a new edit if later changes may have occurred. Save the requested draft change directly using the revision from get_setup. No additional approval is needed. Reuse client_request_id only for identical retries.

[Deal packages guide](https://docs.levr.ai/mcp/resources/deal_packages.md)

Availability depends on live discovery and your access to the record. Do not infer MCP calls from REST paths.

Operation: write. Required OAuth scopes: mcp.

## Input schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "changes": {
      "additionalProperties": false,
      "minProperties": 1,
      "properties": {
        "client_confirmation": {
          "description": "Short post-submit acknowledgement, such as thanking the applicant and stating known next steps. HTML or plain text; Markdown is not converted. Do not put eligibility, filing instructions, or application requirements here.",
          "maxLength": 100000,
          "type": "string"
        },
        "definition_slug": {
          "anyOf": [
            {
              "description": "Stable public identifier for the referenced resource.",
              "maxLength": 255,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Copy definition_slug from application_definitions.list; null inherits the workspace default. Prefix: appdef_."
        },
        "delivery_steps": {
          "description": "Partial edits to existing steps, identified by step_key. Omitted steps and fields are preserved. Recipients replace the email list; [] clears it. Recipients apply only to email delivery.",
          "items": {
            "additionalProperties": false,
            "minProperties": 2,
            "properties": {
              "is_enabled": {
                "type": "boolean"
              },
              "recipients": {
                "description": "Complete replacement recipients for this step. [] clears them; disable the step when clearing all recipients.",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "email": {
                      "format": "email",
                      "maxLength": 254,
                      "type": "string"
                    },
                    "send_application_link": {
                      "type": "boolean"
                    },
                    "send_attachments": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "email",
                    "send_application_link",
                    "send_attachments"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "type": "array"
              },
              "step_key": {
                "description": "Copy step_key from deal_packages.get_setup.delivery_steps.",
                "maxLength": 64,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "step_key"
            ],
            "type": "object"
          },
          "maxItems": 100,
          "minItems": 1,
          "type": "array"
        }
      },
      "type": "object"
    },
    "client_request_id": {
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "expected_revision": {
      "description": "Copy revision from deal_packages.get_setup.",
      "minimum": 0,
      "type": "integer"
    },
    "package_slug": {
      "description": "Copy package_slug from deal_packages.list. Prefix: pkg_.",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "provider_slug": {
      "description": "Copy provider_slug from providers.list; named slugs are valid.",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "provider_slug",
    "package_slug",
    "changes",
    "expected_revision",
    "client_request_id"
  ],
  "type": "object"
}
```

## Output schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "oneOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "properties": {
        "ok": {
          "const": true
        }
      },
      "required": [
        "data"
      ]
    },
    {
      "not": {
        "required": [
          "data"
        ]
      },
      "properties": {
        "ok": {
          "const": false
        }
      },
      "required": [
        "error"
      ]
    }
  ],
  "properties": {
    "data": {
      "additionalProperties": false,
      "properties": {
        "client_confirmation": {
          "description": "Acknowledgement shown immediately after the applicant submits in Levr. Not an email, submission method, or instructions for applying.",
          "type": "string"
        },
        "definition_slug": {
          "anyOf": [
            {
              "description": "Stable public identifier for the referenced resource.",
              "maxLength": 255,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "delivery_steps": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "is_enabled": {
                "type": "boolean"
              },
              "method_type": {
                "description": "sharespace is email delivery; only this method accepts recipients.",
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "recipients": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "email": {
                      "format": "email",
                      "maxLength": 254,
                      "type": "string"
                    },
                    "send_application_link": {
                      "type": "boolean"
                    },
                    "send_attachments": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "email",
                    "send_application_link",
                    "send_attachments"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "step_key": {
                "type": "string"
              }
            },
            "required": [
              "step_key",
              "name",
              "method_type",
              "is_enabled",
              "recipients"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "effective_definition_slug": {
          "anyOf": [
            {
              "description": "Stable public identifier for the referenced resource.",
              "maxLength": 255,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "package_slug": {
          "description": "Stable public identifier for the referenced resource.",
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        },
        "revision": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "package_slug",
        "revision",
        "definition_slug",
        "effective_definition_slug",
        "client_confirmation",
        "delivery_steps"
      ],
      "type": "object"
    },
    "error": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "type": "string"
        },
        "details": {
          "additionalProperties": true,
          "description": "Optional bounded, agent-safe correction or recovery facts.",
          "type": "object"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "type": "object"
    },
    "meta": {
      "additionalProperties": false,
      "properties": {
        "request_id": {
          "type": "string"
        }
      },
      "required": [
        "request_id"
      ],
      "type": "object"
    },
    "ok": {
      "description": "Whether the tool completed successfully.",
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "meta"
  ],
  "type": "object"
}
```

Check the result, then read the affected record to confirm your change.
