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/json vip.checkout-request@1
Response
application/json vip.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&#39;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/json vip.plan-list-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>vip.plan.list</strong> (public): List a creator&#39;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/json vip.members-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>vip.creator.members.list</strong> (first-party): A creator&#39;s active members with the plan version each joined under: from Billing&#39;s subscriptions, or VIP&#39;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/json vip.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&#39;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 &quot;unknown&quot;, 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/json vip.entitlement-check-request@1
Response
application/json vip.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&#39;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 &quot;unknown&quot;, 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/json vip.membership-status-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>vip.membership.status</strong> (first-party): A member&#39;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/json vip.perk-list-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>vip.perk.list</strong> (public): List a creator&#39;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/json vip.perk-create-request@1
Response
application/json vip.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/json vip.perk-update-request@1
Response
application/json vip.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/json vip.plan-list-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>vip.plan.list</strong> (public): List a creator&#39;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/json vip.plan-create-request@1
Response
application/json vip.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&#39;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/json vip.plan-list-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>vip.plan.list</strong> (public): List a creator&#39;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/json vip.plan-update-request@1
Response
application/json vip.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/json vip.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/json vip.plan-update-request@1
Response
application/json vip.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/json vip.plan-list-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>vip.plan.list</strong> (public): List a creator&#39;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/json vip.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&#39;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/json vip.policy-set-request@1
Response
application/json vip.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/json vip.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&#39;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/json vip.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/json vip.policy-evaluate-request@1
Response
application/json vip.policy-evaluate-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>vip.resource.policy.evaluate</strong> (first-party): May subject S see resource R (under rule X)? Fails closed: no rule, a disabled rule, an entitlement VIP cannot confirm, a missing perk or any error is allow: false with the reason.</p>