---
title: "Update a Call activity"
method: PUT
path: "/activity/call/{id}/"
tags: ["activities.calls"]
---

# Update a Call activity

`PUT /activity/call/{id}/`

Most commonly used to update `note_html` or `outcome_id`. Some fields (`status`, `duration`, `direction`) cannot be updated for internal calls made through Close's VoIP system.

**`note_html` and `note`**: setting one overwrites the other. If both are provided, `note_html` takes precedence. `note_html` supports rich-text HTML; `note` is plaintext only.

**Deleting recordings**: for internal calls, changing or clearing `recording_url` or `voicemail_url`, or setting `recording_transcript` to `null`, permanently deletes the corresponding recording, voicemail, or transcript. This requires the `delete_own_activities` permission for your own calls, or `manage_others_activities` for other users' calls and calls not assigned to a user. Without the required permission the request fails with a `400` error.

## Path parameters

- `id` string, required

## Request body

- UpdateCallActivity
  - `activity_at` string, date-time, nullable
  - `contact_id` string, nullable
  - `conversation_type_id` string, nullable
  - `duration` integer, nullable
  - `lead_id` string, nullable
  - `note` string, nullable
  - `note_html` string, nullable
  - `outcome_id` string, nullable
  - `phone` string, nullable — Phone number in E.164 format
  - `playbook_id` string, nullable
  - `quality_info` string, nullable
  - `recording_url` string, uri, nullable
  - `status` 'created' | 'in-progress' | 'completed' | 'cancel' | 'no-answer' | 'busy' | 'failed' | 'timeout' | 'null', nullable
  - `user_id` string, nullable
  - `voicemail_url` string, uri, nullable

## Response `200`

Successful response

- CallActivity
  - `_type` string, required
  - `activity_at` string, date-time, nullable, required
  - `contact_id` string, nullable, required
  - `created_by` string, nullable, required
  - `created_by_name` string, nullable
  - `date_created` string, date-time, required
  - `date_updated` string, date-time, required
  - `id` string, required
  - `lead_id` string, nullable, required
  - `organization_id` string, required
  - `outcome_id` string, nullable, required
  - `sequence_id` string, nullable
  - `sequence_name` string, nullable
  - `sequence_subscription_id` string, nullable
  - `source` 'Close.io' | 'External', required — Source of a phone activity. Describes whether the phone activity (such as a call or an SMS) was handled by Close's telephony provider or handled externally by a 3rd party and is merely logged in Close.
  - `status` 'created' | 'in-progress' | 'completed' | 'cancel' | 'no-answer' | 'busy' | 'failed' | 'timeout', required — Current status of the call.
  - `updated_by` string, nullable, required
  - `updated_by_name` string, nullable
  - `user_id` string, nullable, required
  - `user_name` string, nullable
  - `users` string[], required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Not found

---

[API](https://skmtc.net/close/apis/close-api.md) · [All operations](https://skmtc.net/close/apis/close-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/close/close-api/revisions/0dcf3303e9d7/schema)
