ChatInboxConversationsResult chat.inbox-conversations-result@1

Generated at from openvibe-contracts v0.221.0 and openvibe-sdk v0.65.0.

Version
1.0.0
Owner
chat
Visibility
public
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/chat/inbox-conversations-result.v1.json

chat.inbox-conversations-result@1: an inbox's conversations ({ conversations }: waiting first, each with status, who has it, the visitor's name and whether their site verified them, a preview and unread count), one conversation's messages ({ conversation, messages }, ?after= a message id), a reply ({ message }), its saved replies ({ replies }), or the owner's export (?format=json: { inbox, exported_at, conversations: [{ …, messages }] }; ?format=csv is text/csv, one row per message). A message is { id, author: visitor | agent | ai | system, author_name, body, created_at, account? }.

Fields

FieldTypeRequiredDescriptionConstraints
conversationsarray of object
conversations[].idstringyes
  • pattern ^cnv_[0-9A-HJKMNP-TV-Z]{26}$
conversations[].statusenumyes
  • one of "bot", "waiting", "open", "resolved"
conversationobject | null
messagesarray of object
messages[].idintegeryes
messages[].authorenumyes
  • one of "visitor", "agent", "ai", "system"
messages[].bodystringyes
messageobject
repliesarray of object

Examples

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

Valid: messages
{
  "conversation": {
    "id": "cnv_01J9ZQ3M5K8V2R4T6Y8W0X2C4C",
    "status": "open"
  },
  "messages": [
    {
      "id": 1,
      "author": "visitor",
      "author_name": "Dana",
      "body": "My lamp arrived cracked",
      "created_at": "2026-10-25 02:00:00"
    },
    {
      "id": 2,
      "author": "agent",
      "author_name": "Ann",
      "body": "Sorry! A new shade ships today.",
      "created_at": "2026-10-25 02:01:00"
    }
  ]
}
Valid: waiting-first
{
  "conversations": [
    {
      "id": "cnv_01J9ZQ3M5K8V2R4T6Y8W0X2C4C",
      "status": "waiting",
      "visitor_name": "Dana",
      "verified": true,
      "preview": "My lamp arrived cracked",
      "agent_unread": 1
    }
  ]
}
Rejected: unknown-author
{
  "messages": [
    {
      "id": 1,
      "author": "robot",
      "body": "hi"
    }
  ]
}

Validate

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