# deals_update

> Update an existing vendor deal's information or status.

<!-- Source: https://docs.actuallycare.com/tools/deals/deals_update -->

```text
Update an existing vendor deal's information or status. Only provided fields are updated - omitted fields remain unchanged. Common uses: status change (pending->in_progress->completed->invoiced->paid), update financial details, link to escrow. Returns the updated deal record.
```

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `deal_id` | string | Yes | UUID of the deal to update (required). Use [`deals_list`](/tools/deals/deals_list) to find. · Format: UUID |
| `contact_id` | string | No | Updated contact ID. Use [`contacts_list`](/tools/contacts/contacts_list) to find. · Format: UUID |
| `vendor_type` | string | No | Updated vendor type |
| `partner_id` | string | No | Updated partner ID. Use [`partners_list`](/tools/partners/partners_list) to find. · Format: UUID |
| `escrow_service_id` | string | No | Updated escrow service record ID. · Format: UUID |
| `escrow_id` | string | No | Updated escrow ID. Use [`escrows_list`](/tools/escrows/escrows_list) to find. · Format: UUID |
| `title` | string | No | Updated title |
| `deal_type` | string | No | Updated deal type |
| `status` | enum | No | Updated status · One of: `pending`, `in_progress`, `completed`, `invoiced`, `paid`, `cancelled`, `disputed` |
| `payment_status` | enum | No | Updated payment status · One of: `unpaid`, `invoiced`, `paid`, `refunded` |
| `amount` | number | No | Updated deal amount · Min: 0 |
| `fee` | number | No | Updated service fee · Min: 0 |
| `commission_amount` | number | No | Updated commission amount · Min: 0 |
| `property_address` | string | No | Updated property address |
| `notes` | string | No | Updated notes |
| `tags` | array of strings | No | Updated tags array (replaces existing tags) |
| `care_status` | enum | No | Care status for tracking. Setting this also updates care_status_updated_at and care_status_updated_by audit columns. · One of: `no_status`, `cared`, `needs_care`, `didnt_care` |
| `care_status_note` | string | No | Note explaining the care status change (audit trail). |
| `started_at` | string | No | Timestamp the deal work started. Usually set alongside status=in_progress. (ISO 8601 format, e.g., 2025-01-22T14:30:00Z) · Format: Date-time (ISO 8601) |
| `completed_at` | string | No | Timestamp the deal was completed. Usually set alongside status=completed. (ISO 8601 format, e.g., 2025-01-22T14:30:00Z) · Format: Date-time (ISO 8601) |
| `paid_date` | string | No | Date the deal was paid out. Usually set alongside payment_status=paid. (Format: YYYY-MM-DD) · Format: Date (YYYY-MM-DD) |
| `record_data` | object (free-form) | No | Pipeline-specific vertical data as a JSON object. Replaces (does not merge with) the existing record_data. |

## Example prompts

- "Mark the Birchwood Ln inspection deal as completed and invoiced."
- "The Marlowe Ct appraisal got paid today, update its payment status and paid date."

## Safety

**Updates data.** Changes an existing record. The change is visible immediately in the app and can be edited back.
