CommunitySpaceReadResult community.space-read-result@1
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
- Version
- 1.0.0
- Owner
- community
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/community/space-read-result.v1.json
community.space-read-result@1: answers of community.space.read on OpenVibe.Community. GET /api/v1/spaces → { spaces, groups } (the spaces the caller can open, each with its last post, and the board index: groups in order with their top-level spaces and child boards); GET /api/v1/spaces/:space → { space } (a staff or members-only space the caller cannot open is 404 or 401/403 vip.members_only); GET /s is the board index as an HTML page.
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: index
{
"spaces": [
{
"slug": "streaming",
"name": "Streaming",
"description": "Encoders, bitrates and restreams.",
"visibility": "public",
"url": "/s/streaming",
"thread_kind": "discussion",
"statuses": [],
"style": "feed",
"votes": true,
"reactions": true,
"group": {
"slug": "make",
"name": "Make things"
},
"parent": null,
"members_only": null,
"thread_count": 42,
"last_activity_at": "2026-09-25T18:00:00.000Z"
}
],
"groups": [
{
"slug": "make",
"name": "Make things",
"description": null,
"spaces": [
{
"slug": "streaming",
"name": "Streaming",
"description": "Encoders, bitrates and restreams.",
"visibility": "public",
"url": "/s/streaming",
"thread_kind": "discussion",
"statuses": [],
"style": "feed",
"votes": true,
"reactions": true,
"group": {
"slug": "make",
"name": "Make things"
},
"parent": null,
"members_only": null,
"thread_count": 42,
"last_activity_at": "2026-09-25T18:00:00.000Z"
}
]
}
]
}Valid: one
{
"space": {
"slug": "streaming",
"name": "Streaming",
"description": "Encoders, bitrates and restreams.",
"visibility": "public",
"url": "/s/streaming",
"thread_kind": "discussion",
"statuses": [],
"style": "feed",
"votes": true,
"reactions": true,
"group": {
"slug": "make",
"name": "Make things"
},
"parent": null,
"members_only": null,
"thread_count": 42,
"last_activity_at": "2026-09-25T18:00:00.000Z"
}
}Rejected: partial-space
{
"spaces": [
{
"slug": "x"
}
],
"groups": []
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('community.space-read-result@1', value); // { valid, errors: [{ path, message }] }