---
title: "Companion Message"
method: POST
path: "/companion/message"
---

# Companion Message

`POST /companion/message`

## Request

- Base URL: `https://api.signalpipe.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.signalpipe.io/companion/message`
- Auth: none declared

Generate the next message for a prospect using their full state,
product context, conversation history, and objection memory.

?mode=generated (default) — backend calls the LLM and returns the message.
?mode=prompt              — backend returns the system prompt + user_content
                             + response schema, WITHOUT calling the LLM. The
                             client (OpenClaw plugin / remote MCP) runs its
                             own LLM, then posts the result back with
                             `mode=record`. This shifts LLM cost off the
                             backend and onto the user's subscription.
?mode=record              — client-generated message is logged as an
                             interaction. Requires `message` in payload.
                             Daily cap still enforced.

## Query parameters

- `mode` string

## Headers

- `authorization` string

## Request body

- object

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/signalpipe/apis/mantidae-v3-0.md) · [All operations](https://skmtc.dev/signalpipe/apis/mantidae-v3-0/llms.txt) · [OpenAPI document](https://skmtc.dev/signalpipe/apis/mantidae-v3-0/revisions/14f89c374730?raw)
