VipPlanListResult vip.plan-list-result@1
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
- Version
- 1.0.0
- Owner
- vip
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/vip/plan-list-result.v1.json
vip.plan-list-result@1: answers of vip.plan.list on OpenVibe.VIP. Published plans are public; the creator, staff or a service holding vip.plan.list also see drafts and archived plans. GET /api/v1/plans?creator=&include=drafts,archived → { creator, plans }; GET /api/v1/plans/:id → { plan } (with its creator); GET /api/v1/plans/:id/versions → { plan_id, versions } (newest first; only published versions for others); GET /api/v1/creators/:ref → { creator, plans, perks } (the creator's public page: plans, drafts included for its manager, and the creator's own active perks). A creator is named by usr_ id, VIP username or network; 404 vip.creator_not_found or vip.plan_not_found (problem+json).
Fields
This schema has no named fields.
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: creator-page
{
"creator": {
"id": "vcr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"kind": "creator",
"subject": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"username": "moosefan",
"display_name": "Moose Fan",
"bio": "Late-night builds and chill.",
"status": "active"
},
"plans": [
{
"id": "vpl_01JAB2C3D4E5F6G7H8J9K0MNPW",
"creator_id": "vcr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"slug": "supporter",
"status": "published",
"billing_kind": "channel_subscription",
"purchasable": true,
"current_version": {
"id": "vpv_01JAB2C3D4E5F6G7H8J9K0MNPT",
"version": 2,
"name": "Supporter",
"description": "Back the stream every month.",
"benefits": [
"Supporter badge in chat",
"Members-only VOD chapters"
],
"perks": [
{
"id": "vpk_01JAB2C3D4E5F6G7H8J9K0MNPV",
"key": "chat-badge",
"name": "Chat badge"
}
],
"terms": {
"name": "Supporter",
"description": "Back the stream every month.",
"benefits": [
"Supporter badge in chat",
"Members-only VOD chapters"
],
"perks": [
{
"key": "chat-badge",
"name": "Chat badge",
"kind": "badge",
"scope": "creator"
}
],
"billing_kind": "channel_subscription",
"price": "set and charged by OpenVibe.Billing",
"digest": "3fa9c0d27e5b8814"
},
"change_note": "added VOD chapters",
"created_at": "2026-09-20T18:04:11.402Z",
"published_at": "2026-09-20T18:04:11.402Z"
},
"draft_version": null,
"created_at": "2026-09-20T18:04:11.402Z",
"updated_at": "2026-09-20T18:04:11.402Z",
"archived_at": null
}
],
"perks": [
{
"id": "vpk_01JAB2C3D4E5F6G7H8J9K0MNPV",
"key": "chat-badge",
"name": "Chat badge",
"description": "A supporter badge next to your name in chat.",
"kind": "badge",
"status": "active",
"scope": "creator",
"creator_id": "vcr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"bindings": [
{
"product": "chat",
"binding": "chat_badge",
"config": {
"icon": "star"
}
},
{
"product": "live",
"binding": "chat_badge",
"config": {}
}
],
"updated_at": "2026-09-20T18:04:11.402Z"
}
]
}Valid: one
{
"plan": {
"id": "vpl_01JAB2C3D4E5F6G7H8J9K0MNPW",
"creator_id": "vcr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"slug": "supporter",
"status": "published",
"billing_kind": "channel_subscription",
"purchasable": true,
"current_version": {
"id": "vpv_01JAB2C3D4E5F6G7H8J9K0MNPT",
"version": 2,
"name": "Supporter",
"description": "Back the stream every month.",
"benefits": [
"Supporter badge in chat",
"Members-only VOD chapters"
],
"perks": [
{
"id": "vpk_01JAB2C3D4E5F6G7H8J9K0MNPV",
"key": "chat-badge",
"name": "Chat badge"
}
],
"terms": {
"name": "Supporter",
"description": "Back the stream every month.",
"benefits": [
"Supporter badge in chat",
"Members-only VOD chapters"
],
"perks": [
{
"key": "chat-badge",
"name": "Chat badge",
"kind": "badge",
"scope": "creator"
}
],
"billing_kind": "channel_subscription",
"price": "set and charged by OpenVibe.Billing",
"digest": "3fa9c0d27e5b8814"
},
"change_note": "added VOD chapters",
"created_at": "2026-09-20T18:04:11.402Z",
"published_at": "2026-09-20T18:04:11.402Z"
},
"draft_version": null,
"created_at": "2026-09-20T18:04:11.402Z",
"updated_at": "2026-09-20T18:04:11.402Z",
"archived_at": null,
"creator": {
"id": "vcr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"kind": "creator",
"subject": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"username": "moosefan",
"display_name": "Moose Fan",
"bio": "Late-night builds and chill.",
"status": "active"
}
}
}Valid: plans
{
"creator": {
"id": "vcr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"kind": "creator",
"subject": {
"type": "user",
"id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
},
"username": "moosefan",
"display_name": "Moose Fan",
"bio": "Late-night builds and chill.",
"status": "active"
},
"plans": [
{
"id": "vpl_01JAB2C3D4E5F6G7H8J9K0MNPW",
"creator_id": "vcr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"slug": "supporter",
"status": "published",
"billing_kind": "channel_subscription",
"purchasable": true,
"current_version": {
"id": "vpv_01JAB2C3D4E5F6G7H8J9K0MNPT",
"version": 2,
"name": "Supporter",
"description": "Back the stream every month.",
"benefits": [
"Supporter badge in chat",
"Members-only VOD chapters"
],
"perks": [
{
"id": "vpk_01JAB2C3D4E5F6G7H8J9K0MNPV",
"key": "chat-badge",
"name": "Chat badge"
}
],
"terms": {
"name": "Supporter",
"description": "Back the stream every month.",
"benefits": [
"Supporter badge in chat",
"Members-only VOD chapters"
],
"perks": [
{
"key": "chat-badge",
"name": "Chat badge",
"kind": "badge",
"scope": "creator"
}
],
"billing_kind": "channel_subscription",
"price": "set and charged by OpenVibe.Billing",
"digest": "3fa9c0d27e5b8814"
},
"change_note": "added VOD chapters",
"created_at": "2026-09-20T18:04:11.402Z",
"published_at": "2026-09-20T18:04:11.402Z"
},
"draft_version": null,
"created_at": "2026-09-20T18:04:11.402Z",
"updated_at": "2026-09-20T18:04:11.402Z",
"archived_at": null
}
]
}Valid: versions
{
"plan_id": "vpl_01JAB2C3D4E5F6G7H8J9K0MNPW",
"versions": [
{
"id": "vpv_01JAB2C3D4E5F6G7H8J9K0MNPT",
"version": 2,
"name": "Supporter",
"description": "Back the stream every month.",
"benefits": [
"Supporter badge in chat",
"Members-only VOD chapters"
],
"perks": [
{
"id": "vpk_01JAB2C3D4E5F6G7H8J9K0MNPV",
"key": "chat-badge",
"name": "Chat badge"
}
],
"terms": {
"name": "Supporter",
"description": "Back the stream every month.",
"benefits": [
"Supporter badge in chat",
"Members-only VOD chapters"
],
"perks": [
{
"key": "chat-badge",
"name": "Chat badge",
"kind": "badge",
"scope": "creator"
}
],
"billing_kind": "channel_subscription",
"price": "set and charged by OpenVibe.Billing",
"digest": "3fa9c0d27e5b8814"
},
"change_note": "added VOD chapters",
"created_at": "2026-09-20T18:04:11.402Z",
"published_at": "2026-09-20T18:04:11.402Z"
}
]
}Rejected: plans-only
{
"plans": [
{
"id": "vpl_01JAB2C3D4E5F6G7H8J9K0MNPW",
"creator_id": "vcr_01JAB2C3D4E5F6G7H8J9K0MNPQ",
"slug": "supporter",
"status": "published",
"billing_kind": "channel_subscription",
"purchasable": true,
"current_version": {
"id": "vpv_01JAB2C3D4E5F6G7H8J9K0MNPT",
"version": 2,
"name": "Supporter",
"description": "Back the stream every month.",
"benefits": [
"Supporter badge in chat",
"Members-only VOD chapters"
],
"perks": [
{
"id": "vpk_01JAB2C3D4E5F6G7H8J9K0MNPV",
"key": "chat-badge",
"name": "Chat badge"
}
],
"terms": {
"name": "Supporter",
"description": "Back the stream every month.",
"benefits": [
"Supporter badge in chat",
"Members-only VOD chapters"
],
"perks": [
{
"key": "chat-badge",
"name": "Chat badge",
"kind": "badge",
"scope": "creator"
}
],
"billing_kind": "channel_subscription",
"price": "set and charged by OpenVibe.Billing",
"digest": "3fa9c0d27e5b8814"
},
"change_note": "added VOD chapters",
"created_at": "2026-09-20T18:04:11.402Z",
"published_at": "2026-09-20T18:04:11.402Z"
},
"draft_version": null,
"created_at": "2026-09-20T18:04:11.402Z",
"updated_at": "2026-09-20T18:04:11.402Z",
"archived_at": null
}
]
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('vip.plan-list-result@1', value); // { valid, errors: [{ path, message }] }