ChatSendResult chat.send-result@1

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Version
1.0.0
Owner
chat
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/chat/send-result.v1.json

chat.send-result@1: what chat.message.send answers. On WS /ws/chat nothing is acknowledged directly: the stored line is broadcast as a chat frame to the room (the sender included; channel lines also reach the homepage global feed), and a refusal (banned, slow mode, held for IP approval, a channel rule, not saved) is a system or error frame to the sender alone. On POST /internal/live/calls, the batch result: one entry per op, in order, where a message op without chat.message.send is { ok: false, code: capability.denied }.

Fields

This schema has no named fields.

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: bridge-result
{
  "ok": true,
  "results": [
    {
      "seq": 1,
      "ok": true,
      "result": null
    },
    {
      "seq": 2,
      "ok": false,
      "code": "capability.denied",
      "error": "chat.message.send not granted"
    }
  ]
}
Valid: broadcast
{
  "type": "chat",
  "id": 81240,
  "username": "Alice",
  "core_username": "alice",
  "user_id": 17,
  "anon_id": null,
  "role": "user",
  "message": "gg that was clean",
  "stream_id": 42,
  "channel_user_id": 5,
  "is_global": false,
  "avatar_url": "https://openvibe.media/avatar/alice",
  "profile_color": "#3b82f6",
  "filtered": false,
  "timestamp": "2026-09-25T20:14:03.120Z",
  "auto_delete_at": null,
  "reply_to": {
    "id": 81234,
    "username": "bob",
    "user_id": 9,
    "message": "did you see that"
  }
}
Valid: slow-mode
{
  "type": "system",
  "message": "Slow down! You are sending messages too fast."
}
Rejected: missing-room
{
  "type": "chat",
  "username": "Alice",
  "message": "hi"
}
Rejected: unknown-frame
{
  "type": "notice",
  "message": "x"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('chat.send-result@1', value);   // { valid, errors: [{ path, message }] }