---
title: "inbox.addMessage"
method: POST
path: "/v1/inbox/add-message"
tags: ["inbox"]
---

# inbox.addMessage

`POST /v1/inbox/add-message`

## Request

- Base URL: `https://api.selda.ai`
- URL: `https://api.selda.ai/v1/inbox/add-message`
- Auth: HTTP bearer

Put one message into a lead's Sales Inbox thread, in either direction, even for somebody who was never in a campaign. Creates the lead if it is new. This can send nothing.

Dispatched to `inbox.addMessage` on `POST /mcp/mutate`. This route is a different URL for the same call: the request is answered by the same dispatcher, with the same authentication, the same scope check, the same organisation scoping and the same refusals.

- Scope: `write`
- A free sandbox key may call it
- MCP tools that wrap the same function: `selda_add_inbox_message`
- Filled in from your API key, never sent by you: `orgId`

## Request body

- object
  - `projectId` string, required
  - `leadId` string: An existing lead. Omit it and name the person in `identity` instead.
  - `identity` object
    - `email` string
    - `name` string
    - `firstName` string
    - `lastName` string
    - `company` string
    - `jobTitle` string
    - `domain` string
    - `linkedinUrl` string
    - `phone` string
  - `direction` 'inbound' | 'outbound', required: `inbound` = they wrote it. `outbound` = we did, somewhere else. Nothing here sends.
  - `body` string, required
  - `subject` string
  - `occurredAt` union: When it actually happened. Defaults to now; a wrong "now" on old history is a lie.
    - string
    - number

## Response `200`

The call succeeded.

- object
  - `value` unknown, required
  - `request_id` string, required: Echoed in the `X-Request-Id` header.

## Other responses

- `400`: Unknown route, or arguments the validator refused.
- `401`: Missing, expired or revoked key.
- `403`: The key lacks the scope, the plan entitlement, or is a sandbox key on a live-only function.
- `429`: Rate limited. Wait for the next minute window and retry.
- `500`: The function threw. The message says what, without leaking internals.

---

[API](https://skmtc.dev/selda/apis/selda-api.md) · [All operations](https://skmtc.dev/selda/apis/selda-api/llms.txt) · [OpenAPI document](https://skmtc.dev/selda/apis/selda-api/revisions/f0b115a94c0f?raw)
