<!-- Source: https://docs.vinsi.ai/api-docs/crm-activity-update -->
# Update Activity

Partially update a CRM activity (PATCH is also accepted). Only fields present in the body are changed. Setting status to Resolved or Closed records resolvedAt or closedAt the first time. Reassigning with a new assignedToId emails the new assignee. Returns the updated activity with its related records.

```http
PUT https://dashboard.vinsi.ai/api/crm/activities/{activityId}
```

## Authentication

Send your API key in the `x-api-key` header. Create keys in the VINSI dashboard under Settings → API Keys.

## Headers

| Name | Type | Required |
|---|---|---|
| Content-Type | string | yes (application/json) |
| x-api-key | string | yes |

## Path parameters

| Name | Example |
|---|---|
| activityId | 5120 |

## Example request body

```json
{
  "subject": "Follow up on pricing question",
  "description": "Quote sent by email.",
  "status": "Resolved",
  "priority": "Medium",
  "type": "Task",
  "source": "Portal",
  "dueBy": "2026-09-18T17:00:00.000Z",
  "assignedToId": "cmexampleuser0000000000002",
  "contactId": 1042,
  "companyId": 318,
  "tags": [
    "pricing",
    "quote-sent"
  ]
}
```

## Example request

```bash
curl -X PUT 'https://dashboard.vinsi.ai/api/crm/activities/5120' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"subject":"Follow up on pricing question","description":"Quote sent by email.","status":"Resolved","priority":"Medium","type":"Task","source":"Portal","dueBy":"2026-09-18T17:00:00.000Z","assignedToId":"cmexampleuser0000000000002","contactId":1042,"companyId":318,"tags":["pricing","quote-sent"]}'
```

## Example response

```json
{
  "id": 5120,
  "activityNumber": "ACT-00128-K3F9",
  "subject": "Follow up on pricing question",
  "description": "Quote sent by email.",
  "status": "Resolved",
  "priority": "Medium",
  "type": "Task",
  "source": "Portal",
  "dueBy": "2026-09-18T17:00:00.000Z",
  "organizationId": "cmexampleorg00000000000001",
  "requesterId": "cmexampleuser0000000000001",
  "assignedToId": "cmexampleuser0000000000002",
  "departmentId": null,
  "groupId": null,
  "tags": "[\"pricing\",\"quote-sent\"]",
  "customFields": "{}",
  "contactId": 1042,
  "companyId": 318,
  "dealId": 77,
  "engagementId": null,
  "closedAt": null,
  "resolvedAt": "2026-09-16T16:40:00.000Z",
  "firstResponseAt": null,
  "lastDueReminderAt": null,
  "createdAt": "2026-09-15T20:11:05.000Z",
  "updatedAt": "2026-09-16T16:40:00.000Z",
  "Requester": {
    "id": "cmexampleuser0000000000001",
    "firstName": "Jane",
    "lastName": "Doe",
    "email": "jane.doe@example.com"
  },
  "AssignedTo": {
    "id": "cmexampleuser0000000000002",
    "firstName": "Sam",
    "lastName": "Rivera",
    "email": "sam.rivera@example.com"
  },
  "Department": null,
  "Group": null,
  "Contact": {
    "id": 1042,
    "firstName": "Alex",
    "lastName": "Morgan",
    "email": "alex.morgan@example.com",
    "phone": "+15555550142"
  },
  "Company": {
    "id": 318,
    "name": "Acme Dental"
  }
}
```

