OpenVibe.VIP API
Generated at from
openvibe-contracts v0.53.0 and
openvibe-sdk v0.11.0.
Server https://openvibe.vip. 21 routes performing 14 capabilities. OpenAPI 3.1 document.
POST /api/v1/checkout
Start joining a plan on behalf of a member: VIP records the plan version chosen and hands off to OpenVibe.Billing (payment intent, or a period paid from the member's credit).
- Capabilities
- vip.membership.checkout
- Visibility
- first-party
- Request body
application/jsonvip.checkout-request@1- Response
application/jsonvip.checkout-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.membership.checkout</strong> (first-party): Start joining a plan on behalf of a member: VIP records the plan version chosen and hands off to OpenVibe.Billing (payment intent, or a period paid from the member's credit). Billing charges; VIP never does.</p>GET /api/v1/creators/{ref}
List a creator's plans with their current and draft versions and the full version history.
- Capabilities
- vip.plan.list
- Visibility
- public
- Parameters
ref(path, required)
- Response
application/jsonvip.plan-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.plan.list</strong> (public): List a creator's plans with their current and draft versions and the full version history. Published plans are public without a grant; the grant adds drafts and archived plans.</p>GET /api/v1/creators/{ref}/members
A creator's active members with the plan version each joined under: from Billing's subscriptions, or VIP's fresh projection (labelled) when Billing does not answer.
- Capabilities
- vip.creator.members.list
- Visibility
- first-party
- Parameters
ref(path, required)
- Response
application/jsonvip.members-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.creator.members.list</strong> (first-party): A creator's active members with the plan version each joined under: from Billing's subscriptions, or VIP's fresh projection (labelled) when Billing does not answer.</p>GET /api/v1/entitlements/check
Is a subject a member of a creator right now?
- Capabilities
- vip.entitlement.check
- Visibility
- first-party
- Input
- vip.entitlement-check-request@1
- Response
application/jsonvip.entitlement-check-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.entitlement.check</strong> (first-party): Is a subject a member of a creator right now? Answered from VIP's short-lived projection of Billing entitlements, with a direct Billing check when the projection is stale (mode auto) or always (mode authoritative). Past valid_until plus grace the answer is "unknown", which never authorizes.</p>POST /api/v1/entitlements/check
Is a subject a member of a creator right now?
- Capabilities
- vip.entitlement.check
- Visibility
- first-party
- Request body
application/jsonvip.entitlement-check-request@1- Response
application/jsonvip.entitlement-check-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.entitlement.check</strong> (first-party): Is a subject a member of a creator right now? Answered from VIP's short-lived projection of Billing entitlements, with a direct Billing check when the projection is stale (mode auto) or always (mode authoritative). Past valid_until plus grace the answer is "unknown", which never authorizes.</p>GET /api/v1/memberships/{subject}
A member's memberships: the plan version each was bought under, preferences, and the entitlement status (projection, confirmed with Billing when stale).
- Capabilities
- vip.membership.status
- Visibility
- first-party
- Parameters
subject(path, required)
- Response
application/jsonvip.membership-status-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.membership.status</strong> (first-party): A member's memberships: the plan version each was bought under, preferences, and the entitlement status (projection, confirmed with Billing when stale).</p>GET /api/v1/perks
List a creator's perks (and the network perks) with product bindings.
- Capabilities
- vip.perk.list
- Visibility
- public
- Response
application/jsonvip.perk-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.perk.list</strong> (public): List a creator's perks (and the network perks) with product bindings. Active perks are public; the grant adds retired ones.</p>POST /api/v1/perks
Define a perk (badge, emote, gated content, room, role) for a creator or the network, with its product bindings.
- Capabilities
- vip.perk.create
- Visibility
- first-party
- Request body
application/jsonvip.perk-create-request@1- Response
application/jsonvip.perk-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.perk.create</strong> (first-party): Define a perk (badge, emote, gated content, room, role) for a creator or the network, with its product bindings.</p>PATCH /api/v1/perks/{id}
Rename, describe, retire a perk or replace its product bindings.
- Capabilities
- vip.perk.update
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonvip.perk-update-request@1- Response
application/jsonvip.perk-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.perk.update</strong> (first-party): Rename, describe, retire a perk or replace its product bindings. Published plan versions keep the perk snapshot they were published with.</p>GET /api/v1/plans
List a creator's plans with their current and draft versions and the full version history.
- Capabilities
- vip.plan.list
- Visibility
- public
- Response
application/jsonvip.plan-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.plan.list</strong> (public): List a creator's plans with their current and draft versions and the full version history. Published plans are public without a grant; the grant adds drafts and archived plans.</p>POST /api/v1/plans
Create a membership plan (version 1) for a creator, or for the network (staff).
- Capabilities
- vip.plan.create
- Visibility
- first-party
- Request body
application/jsonvip.plan-create-request@1- Response
application/jsonvip.plan-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.plan.create</strong> (first-party): Create a membership plan (version 1) for a creator, or for the network (staff). A published plan is sold through OpenVibe.Billing as the creator's channel subscription; Billing sets the price.</p>GET /api/v1/plans/{id}
List a creator's plans with their current and draft versions and the full version history.
- Capabilities
- vip.plan.list
- Visibility
- public
- Parameters
id(path, required)
- Response
application/jsonvip.plan-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.plan.list</strong> (public): List a creator's plans with their current and draft versions and the full version history. Published plans are public without a grant; the grant adds drafts and archived plans.</p>PATCH /api/v1/plans/{id}
Edit a plan by creating a new immutable version (published at once when the plan is published), or publish a draft.
- Capabilities
- vip.plan.update
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonvip.plan-update-request@1- Response
application/jsonvip.plan-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.plan.update</strong> (first-party): Edit a plan by creating a new immutable version (published at once when the plan is published), or publish a draft. Earlier versions and the terms members joined under are never rewritten.</p>POST /api/v1/plans/{id}/archive
Archive a plan: no new members; existing members keep their terms until Billing ends their membership.
- Capabilities
- vip.plan.archive
- Visibility
- first-party
- Parameters
id(path, required)
- Response
application/jsonvip.plan-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.plan.archive</strong> (first-party): Archive a plan: no new members; existing members keep their terms until Billing ends their membership.</p>POST /api/v1/plans/{id}/publish
Edit a plan by creating a new immutable version (published at once when the plan is published), or publish a draft.
- Capabilities
- vip.plan.update
- Visibility
- first-party
- Parameters
id(path, required)
- Request body
application/jsonvip.plan-update-request@1- Response
application/jsonvip.plan-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.plan.update</strong> (first-party): Edit a plan by creating a new immutable version (published at once when the plan is published), or publish a draft. Earlier versions and the terms members joined under are never rewritten.</p>GET /api/v1/plans/{id}/versions
List a creator's plans with their current and draft versions and the full version history.
- Capabilities
- vip.plan.list
- Visibility
- public
- Parameters
id(path, required)
- Response
application/jsonvip.plan-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.plan.list</strong> (public): List a creator's plans with their current and draft versions and the full version history. Published plans are public without a grant; the grant adds drafts and archived plans.</p>GET /api/v1/policies
Read the gated-resource rule VIP holds for a resource (EntityRef), or a creator's rules.
- Capabilities
- vip.resource.policy.get
- Visibility
- first-party
- Response
application/jsonvip.policy-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.resource.policy.get</strong> (first-party): Read the gated-resource rule VIP holds for a resource (EntityRef), or a creator's rules.</p>POST /api/v1/policies
Create, replace or remove the rule gating a resource (EntityRef) for a creator: any member, members of one plan, or members whose plan version includes a perk; optionally always checked with Billing (
- Capabilities
- vip.resource.policy.set
- Visibility
- first-party
- Request body
application/jsonvip.policy-set-request@1- Response
application/jsonvip.policy-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.resource.policy.set</strong> (first-party): Create, replace or remove the rule gating a resource (EntityRef) for a creator: any member, members of one plan, or members whose plan version includes a perk; optionally always checked with Billing (sensitive).</p>GET /api/v1/policies/{id}
Read the gated-resource rule VIP holds for a resource (EntityRef), or a creator's rules.
- Capabilities
- vip.resource.policy.get
- Visibility
- first-party
- Parameters
id(path, required)
- Response
application/jsonvip.policy-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.resource.policy.get</strong> (first-party): Read the gated-resource rule VIP holds for a resource (EntityRef), or a creator's rules.</p>DELETE /api/v1/policies/{id}
Create, replace or remove the rule gating a resource (EntityRef) for a creator: any member, members of one plan, or members whose plan version includes a perk; optionally always checked with Billing (
- Capabilities
- vip.resource.policy.set
- Visibility
- first-party
- Parameters
id(path, required)
- Input
- vip.policy-set-request@1
- Response
application/jsonvip.policy-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>vip.resource.policy.set</strong> (first-party): Create, replace or remove the rule gating a resource (EntityRef) for a creator: any member, members of one plan, or members whose plan version includes a perk; optionally always checked with Billing (sensitive).</p>POST /api/v1/policies/evaluate
May subject S see resource R (under rule X)?
- Capabilities
- vip.resource.policy.evaluate
- Visibility
- first-party
- Request body
application/jsonvip.policy-evaluate-request@1- Response
application/jsonvip.policy-evaluate-result@1- Errors
- errors.problem@1 (application/problem+json)