# Send message to manitu

> Send a message to a department of manitu in the customer's name, with optional attachments.

- Effect: Write - Changes the account. Agents ask first.
- Idempotent: no
- Stability: beta
- MCP tool: `manitu_message_send` on https://mcp.manitu.de/mcp
- REST: `POST https://api.manitu.de/v1/message/send`
- Needs: `account_user`
- Page: /reference/message/send/

**Changes the account. Agents say what will happen and wait for an explicit yes before calling it.**

## MCP tool

`manitu_message_send`

### Description for the model

Sends a message to manitu in the customer's name - to a department from manitu_message_recipient_list (support, accounting, ...). manitu answers by e-mail to the address of this access, not in this chat. Before writing, call manitu_message_guide_get and follow it. Write it as the customer would: clear, polite, with what manitu needs (which domain or server, what happened, what is wanted) - but only what the customer told you; never add passwords or other secrets. Before sending, show the customer recipient, subject and text and wait for an explicit yes. The customer always gets a copy by e-mail; manitu sees that the message was written with an AI assistant. A termination of a contract or a legal matter cannot be sent this way (refused: termination_not_by_message, legal_not_by_message) - tell the customer to use his own way of contact for it, do not rephrase it to get around this. At most 5 messages an hour (limit_reached) - one message with everything is better than several.

### Arguments

- `recipient` (string, required) - The department - from manitu_message_recipient_list. (one of `"info"`, `"support"`, `"accounting"`)
- `subject` (string, required) - (minLength `1`; maxLength `200`)
- `body` (string, required) - The message, plain text. (minLength `1`; maxLength `2048`)
- `cc_to_customer` (boolean) - Send the customer a copy. Default false; over MCP a copy always goes.
- `attachment_list` (array of object) - Files, 10 MB in all. (maxItems `3`)
  - `attachment_list[].name` (string, required) - The file name, e.g. "screenshot.png". (minLength `1`; maxLength `200`; pattern `"^[^/\\\\\\x00-\\x1F]+$"`)
  - `attachment_list[].data` (string, required) - The content: "base64:" followed by the file in base64. (pattern `"^base64:"`)

### Example

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "manitu_message_send",
    "arguments": {
      "recipient": "info",
      "subject": "string",
      "body": "string"
    }
  }
}
```

## REST

`POST https://api.manitu.de/v1/message/send`

### Authentication

One of `X-API-Key`, `Authorization: Bearer …` - never more than one in a request.

### Request body

JSON; unknown fields are refused.

- `recipient` (string, required) - The department - from manitu_message_recipient_list. (one of `"info"`, `"support"`, `"accounting"`)
- `subject` (string, required) - (minLength `1`; maxLength `200`)
- `body` (string, required) - The message, plain text. (minLength `1`; maxLength `2048`)
- `cc_to_customer` (boolean) - Send the customer a copy. Default false; over MCP a copy always goes.
- `attachment_list` (array of object) - Files, 10 MB in all. (maxItems `3`)
  - `attachment_list[].name` (string, required) - The file name, e.g. "screenshot.png". (minLength `1`; maxLength `200`; pattern `"^[^/\\\\\\x00-\\x1F]+$"`)
  - `attachment_list[].data` (string, required) - The content: "base64:" followed by the file in base64. (pattern `"^base64:"`)

### Response

In `data`; the rest of the body as on every call.

- `recipient` (string, required) - (one of `"info"`, `"support"`, `"accounting"`)
- `cc_to_customer` (boolean, required) - A copy went to the customer.

### Statuses

- `200` Success.
- `400` The request does not match the declared input schema.
- `401` No credential was presented, or it was not recognised.
- `403` The credential is not permitted to use this operation.
- `500` The server failed. Nothing about the request was wrong. Whether a change took effect is not known - check before trying it again.
- `503` The channel this operation forwards through is unavailable.

### Example

```sh
curl -X POST 'https://api.manitu.de/v1/message/send' \
  -H 'X-API-Key: $API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"recipient":"info","subject":"string","body":"string"}'
```

## Example result

```json
{
  "recipient": "info",
  "cc_to_customer": true
}
```
