# Change application status

`deal_applications.change_status`

Record one shared application lifecycle change using deal_applications.review_status_change first. Use the same application, target status and optional destination stage as reviewed. Choose optional communication recipients explicitly; review suggestions are not consent. Automatic effects still apply with recipients=[]. This operation owns status, stage synchronization, history and communications together. It does not deliver or submit an application. Retry identical arguments with the same idempotency key. Delivery is not verified by the receipt. Read deals.get afterwards to verify.

[Deal applications guide](https://docs.levr.ai/mcp/resources/deal_applications.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
{
  "additionalProperties": false,
  "properties": {
    "allow_missing_funded_amount": {
      "default": false,
      "description": "Only when marking funded: explicitly allow an unknown funded amount. Other missing or invalid financing still blocks funding. Use the same value when reviewing and executing the change.",
      "type": "boolean"
    },
    "application_id": {
      "description": "Deal Application ID (dapp_) from deals.get; not deal_id.",
      "pattern": "^dapp_[a-z0-9]+$",
      "type": "string"
    },
    "destination_stage_id": {
      "description": "Choose a stage in this Deal's pipeline matching the target status. Omit to use your Portal's matching outcome stage, creating the default if needed. Other Portals follow their synchronization preferences.",
      "pattern": "^dstg_[a-z0-9]+$",
      "type": "string"
    },
    "idempotency_key": {
      "format": "uuid",
      "type": "string"
    },
    "message": {
      "maxLength": 4000,
      "type": "string"
    },
    "provider_slug": {
      "description": "Provider slug returned by providers.list; reuse a known value. Named slugs are valid.",
      "pattern": "^[a-zA-Z0-9_-]{1,64}$",
      "type": "string"
    },
    "recipients": {
      "description": "Copy each selected email AND origin from the review’s recipients. [] selects none; automatic effects still apply.",
      "items": {
        "additionalProperties": false,
        "properties": {
          "email": {
            "format": "email",
            "maxLength": 254,
            "type": "string"
          },
          "origin": {
            "maxLength": 50,
            "type": "string"
          }
        },
        "required": [
          "email",
          "origin"
        ],
        "type": "object"
      },
      "maxItems": 100,
      "type": "array",
      "uniqueItems": true
    },
    "review_token": {
      "maxLength": 4096,
      "minLength": 1,
      "type": "string"
    },
    "target_status": {
      "description": "is_pre_submitted: Not submitted; unavailable after a real submission; is_submitted_to_processor: Record submitted status only; does not deliver an application; is_declined: Declined; is_withdrawn: Withdrawn; is_timed_out: Timed out; is_disbursed: Funded; may create commission obligations",
      "enum": [
        "is_pre_submitted",
        "is_submitted_to_processor",
        "is_declined",
        "is_withdrawn",
        "is_timed_out",
        "is_disbursed"
      ],
      "type": "string"
    },
    "user_confirmed": {
      "const": true,
      "type": "boolean"
    }
  },
  "required": [
    "application_id",
    "target_status",
    "provider_slug",
    "review_token",
    "idempotency_key",
    "recipients",
    "user_confirmed"
  ],
  "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": {
        "application_id": {
          "type": "string"
        },
        "communications": {
          "additionalProperties": false,
          "properties": {
            "automatic_effects": {
              "items": {
                "type": "string"
              },
              "maxItems": 10,
              "type": "array"
            },
            "delivery_status": {
              "const": "not_verified",
              "type": "string"
            },
            "requested_recipients": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "email": {
                    "format": "email",
                    "maxLength": 254,
                    "type": "string"
                  },
                  "origin": {
                    "maxLength": 50,
                    "type": "string"
                  }
                },
                "required": [
                  "email",
                  "origin"
                ],
                "type": "object"
              },
              "maxItems": 100,
              "type": "array",
              "uniqueItems": true
            }
          },
          "required": [
            "requested_recipients",
            "delivery_status",
            "automatic_effects"
          ],
          "type": "object"
        },
        "frontend_link": {
          "format": "uri",
          "type": "string"
        },
        "revision": {
          "minimum": 0,
          "type": "integer"
        },
        "stage": {
          "anyOf": [
            {
              "additionalProperties": false,
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name"
              ],
              "type": "object"
            },
            {
              "type": "null"
            }
          ]
        },
        "status": {
          "type": "string"
        }
      },
      "required": [
        "application_id",
        "status",
        "revision",
        "stage",
        "frontend_link",
        "communications"
      ],
      "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.
