Log a deal activity
Adds an activity to the deal timeline and updates the deal last activity time. A due_at sets the deal next activity time. Give a subject, a body, or both. The timeline shows the name of the API key or connected app that logged it.
https://app.softsolz.uk/api/v1/services/pipelines/pipelines/deals/{deal_id}/activitiesRecent Requests
Kept only in this browserPath Params
deal_idstringrequiredHeaders
AuthorizationstringrequiredBearer token: Bearer sk_live_... (or sk_test_... for sandbox). A login token will not work here.
Idempotency-KeystringOptional idempotency key for safe retries.
Body Params
kindstringType of activity. Any other value is saved as a note.
subjectstringShort subject line, up to 200 characters (longer is refused with 400 heading_too_long). Required when there is no body.
bodystringActivity details. Required when there is no subject.
due_atstring | nullWhen a follow-up is due.
sourcestringName of the tool that logged this activity, shown on the timeline.
source_idstringReference of the matching record in that tool.
Response
Response Body
idstringTimeline entry id, prefixed "activity-".activity_idstringActivity id.entry_typestringAlways "activity" for a logged activity.kindstringType of activity.subjectstring | nullShort subject line.bodystring | nullActivity details.sourcestring | nullWhere the activity came from, when it was logged by another tool.source_idstring | nullReference of the record in that other tool.due_atstring | nullWhen a follow-up is due, or null.completed_atstring | nullWhen the activity was marked done, or null.actor_namestring | nullWho logged it: the member name, or the name of the API key or connected app. Null when unknown.created_atstringWhen the activity was logged.Request
curl --request POST \ --url https://app.softsolz.uk/api/v1/services/pipelines/pipelines/deals/{deal_id}/activities \ --header 'Authorization: Bearer sk_live_your_key' \ --header 'Content-Type: application/json' \ --data '{ "kind": "call", "subject": "Intro call", "body": "Wants pricing by Friday.", "due_at": "2026-10-09T10:00:00Z"}'Credentials
Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.
Response · 201
{ "data": { "id": "activity-88", "activity_id": "88", "entry_type": "activity", "kind": "call", "subject": "Intro call", "body": "Wants pricing by Friday.", "source": null, "source_id": null, "due_at": "2026-10-09T10:00:00.000Z", "completed_at": null, "actor_name": "Sam Patel", "created_at": "2026-10-01T09:15:00.000Z" }}