Update an Activity
Edit an activity’s content (type/subject/body/contact_id) and deal link.
deal_id changes route through rpc_link_activity_to_deal (account validation + backfill + last_activity_at bump); everything else is a direct column PATCH.
null clears a column (e.g. unlinking a contact), an omitted field is left untouched entirely. At least one field must be present, or the request fails with 422.
System-generated activities are read-only: stage-change/audit rows (any type outside note/call/meeting/email/task) and provider-synced rows (any source outside manual/import — e.g. calendar, gmail, outlook, slack, teams from a connected Pipedream integration) can’t be edited, and this endpoint returns 403. A null source is treated as user-created.
deal_id is handled specially: a change routes through the same validated RPC as Link an activity to a deal (so the account-match check, account backfill, and deals.last_activity_at bump all still apply), not a raw column write. If the activity is already linked to a different deal, it’s unlinked first and then relinked to the new one. Every other field (type, summary → subject, body, contact_id) is a direct PostgREST column patch.
{"id": "<activity_id>"} — not the updated row. Re-GET the activity if you need the fresh state back.Auth
Requires a CRM manage scope and an active organization on the token. Any*:manage scope qualifies — in practice contacts:manage, deals:manage, companies:manage, or activities:manage.
Response
Errors
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The activity's id to update.
Body
Partial edit of an activity's content and associations.
Only fields present in the request are patched — an explicit null clears
the column (e.g. unlinking a deal/contact), while an omitted field is left
untouched.
New activity type; omit to leave unchanged.
New subject line; omit to leave unchanged, maps to the subject column.
New body text; omit to leave unchanged.
New contact link, or null to clear it; omit to leave unchanged.
New deal link, or null to unlink; omit to leave unchanged, routed through the link-deal RPC.
Response
Successful Response
The response is of type Response Update Activity Activities Activity Id Patch · object.