NetworkPresenceListResult network.presence-list-result@1

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.161.0.

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

network.presence-list-result@1: the public presence of the people one person may see, from GET /api/v1/presence?subjects=… (the person's own token) or GET /internal/presence?for=…&subjects=… (a first-party service with network.presence.read). Only people the asker follows or has a DM with, and themselves, are answered; a stranger and an invisible person are left out (the caller reads them as offline), never as an error. At most 100 subjects per call.

Fields

FieldTypeRequiredDescriptionConstraints
presencenetwork.presenceyesThe visible people, in no particular order.
  • maxItems 100

Examples

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

Valid: empty
{
  "presence": []
}
Valid: one
{
  "presence": [
    {
      "subject": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
      "state": "online",
      "status_text": "Building presence",
      "emoji": "🟢",
      "live": true,
      "updated_at": "2026-11-07T09:00:00.000Z"
    }
  ]
}
Rejected: stranger
{
  "presence": [
    {
      "subject": "ann",
      "state": "online",
      "updated_at": "2026-11-07T09:00:00.000Z"
    }
  ]
}

Validate

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