SendChatMessageRequest
Send a new chat message to the world. Only `content` is required. `actor_id` binds the message to a specific actor (sets the speaker alias to the actor's name); `whisper_to` makes the message private to the listed user IDs. `content` may include HTML, but the read side strips it — round-trip fidelity is not preserved.
Properties
| Name | Type | Description |
|---|---|---|
| actor_id | string | Foundry actor id whose name becomes the speaker. Yields 404 if the actor doesn't exist. |
| content | string | Message body. HTML supported on send, returned as plain text from list/get. |
| flavor | string | Italic header text shown above the message body (e.g. `Stealth Check`). |
| speaker | string | Override the speaker alias (free text). Use `actor_id` for actor-bound speaker. |
| type | string | Message style. Default lets Foundry pick `other`. `ic` for in-character, `ooc` for out-of-character, `emote` for italicised actions. |
| whisper_to | array | User IDs to whisper this message to. Empty / omitted = public broadcast. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/foundry-mcp-com/json-schema/foundry-mcp-com-send-chat-message-request-schema.json",
"title": "SendChatMessageRequest",
"description": "Send a new chat message to the world. Only `content` is required. `actor_id` binds the message to a specific actor (sets the speaker alias to the actor's name); `whisper_to` makes the message private to the listed user IDs. `content` may include HTML, but the read side strips it — round-trip fidelity is not preserved.",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/foundry-mcp-com-openapi.json#/components/schemas/SendChatMessageRequest",
"properties": {
"actor_id": {
"description": "Foundry actor id whose name becomes the speaker. Yields 404 if the actor doesn't exist.",
"minLength": 1,
"type": "string"
},
"content": {
"description": "Message body. HTML supported on send, returned as plain text from list/get.",
"minLength": 1,
"type": "string"
},
"flavor": {
"description": "Italic header text shown above the message body (e.g. `Stealth Check`).",
"minLength": 1,
"type": "string"
},
"speaker": {
"description": "Override the speaker alias (free text). Use `actor_id` for actor-bound speaker.",
"minLength": 1,
"type": "string"
},
"type": {
"description": "Message style. Default lets Foundry pick `other`. `ic` for in-character, `ooc` for out-of-character, `emote` for italicised actions.",
"enum": [
"ic",
"ooc",
"emote"
],
"type": "string"
},
"whisper_to": {
"description": "User IDs to whisper this message to. Empty / omitted = public broadcast.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"content"
],
"type": "object"
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/foundry-mcp-com-send-chat-message-request"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.