---
title: "Log Deal Interaction Route"
method: POST
path: "/api/pipeline/deals/{deal_id}/interactions"
tags: ["pipeline"]
---

# Log Deal Interaction Route

`POST /api/pipeline/deals/{deal_id}/interactions`

Log an off-platform activity note onto this deal's timeline.

## Query parameters

- `user_id` string, nullable
- `org_id` string, nullable

## Request body

- LogDealInteractionRequest — Body for /deals/{deal_id}/interactions. The UI collects one natural-language note and lets the backend derive the concise timeline summary stored as the event message. When invoked from a sales-plan row, ``completed_plan_action_id`` explicitly marks that row done.
  - `channel` 'meeting' | 'phone_call' | 'sms' | 'linkedin' | 'whatsapp' | 'other'
  - `details` string, required
  - `completed_plan_action_id` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

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