NetworkFollowStatusResult network.follow-status-result@1
Generated at from
openvibe-contracts v0.76.0 and
openvibe-sdk v0.20.1.
- Version
- 1.0.0
- Owner
- network
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Decision
- ADR-030
- Schema
https://openvibe.network/contracts/network/follow-status-result.v1.json
network.follow-status-result@1 (ADR-030): GET /api/v1/follows/:type/:target on OpenVibe.Network: the public follower count of a target, and, for a signed-in caller, whether they follow it and how they are notified. PUT and DELETE /api/v1/me/follows/:type/:target answer the same document after the change (idempotent: repeating either changes nothing).
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
target_type | enum | yes |
| |
target_id | string | yes |
| |
followers | integer | yes |
| |
following | boolean | Present for a signed-in caller. | ||
notify_email | boolean | |||
notify_push | boolean | |||
since | string | When the caller started following. |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: anonymous
{
"target_type": "channel",
"target_id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPR",
"followers": 12
}Valid: signed-in
{
"target_type": "channel",
"target_id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPR",
"followers": 12,
"following": true,
"notify_email": false,
"notify_push": true,
"since": "2026-09-20T10:00:00Z"
}Rejected: negative
{
"target_type": "channel",
"target_id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPR",
"followers": -1
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('network.follow-status-result@1', value); // { valid, errors: [{ path, message }] }