OpenVibe.Billing API

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Server https://billing.openvibe.network. 28 routes performing 8 capabilities. OpenAPI 3.1 document.

POST /api/v1/admin/adjustments

Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provide

Capabilities
billing.ledger.admin
Visibility
internal
Request body
application/json billing.admin-request@1
Response
application/json billing.admin-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.ledger.admin</strong> (internal): Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provider-event reprocessing, the renewal sweep and import holds.</p>

GET /api/v1/admin/freeze

Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provide

Capabilities
billing.ledger.admin
Visibility
internal
Input
billing.admin-request@1
Response
application/json billing.admin-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.ledger.admin</strong> (internal): Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provider-event reprocessing, the renewal sweep and import holds.</p>

POST /api/v1/admin/freeze

Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provide

Capabilities
billing.ledger.admin
Visibility
internal
Request body
application/json billing.admin-request@1
Response
application/json billing.admin-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.ledger.admin</strong> (internal): Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provider-event reprocessing, the renewal sweep and import holds.</p>

GET /api/v1/admin/import-holds

Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provide

Capabilities
billing.ledger.admin
Visibility
internal
Input
billing.admin-request@1
Response
application/json billing.admin-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.ledger.admin</strong> (internal): Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provider-event reprocessing, the renewal sweep and import holds.</p>

GET /api/v1/admin/provider-events

Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provide

Capabilities
billing.ledger.admin
Visibility
internal
Input
billing.admin-request@1
Response
application/json billing.admin-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.ledger.admin</strong> (internal): Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provider-event reprocessing, the renewal sweep and import holds.</p>

POST /api/v1/admin/provider-events/{id}/reprocess

Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provide

Capabilities
billing.ledger.admin
Visibility
internal
Parameters
  • id (path, required)
Request body
application/json billing.admin-request@1
Response
application/json billing.admin-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.ledger.admin</strong> (internal): Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provider-event reprocessing, the renewal sweep and import holds.</p>

GET /api/v1/admin/reconcile

Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provide

Capabilities
billing.ledger.admin
Visibility
internal
Input
billing.admin-request@1
Response
application/json billing.admin-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.ledger.admin</strong> (internal): Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provider-event reprocessing, the renewal sweep and import holds.</p>

POST /api/v1/admin/sweep

Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provide

Capabilities
billing.ledger.admin
Visibility
internal
Request body
application/json billing.admin-request@1
Response
application/json billing.admin-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.ledger.admin</strong> (internal): Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provider-event reprocessing, the renewal sweep and import holds.</p>

GET /api/v1/balances/{subject}

Read a subject's balances (spendable credit, creator payable, pending payouts) and transaction history.

Capabilities
billing.balance.read
Visibility
internal
Parameters
  • subject (path, required)
Response
application/json billing.balance-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.balance.read</strong> (internal): Read a subject&#39;s balances (spendable credit, creator payable, pending payouts) and transaction history.</p>

GET /api/v1/cashouts

Operator payouts: list cashouts, approve one after its escrow period with the payout reference from the provider (required), or deny it (reversal back to creator payable).

Capabilities
billing.cashout.manage
Visibility
internal
Input
billing.cashout-decision@1
Response
application/json billing.cashout-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.cashout.manage</strong> (internal): Operator payouts: list cashouts, approve one after its escrow period with the payout reference from the provider (required), or deny it (reversal back to creator payable). Separately controlled from every other capability (ADR-012 rule 10).</p>

POST /api/v1/cashouts

Request a cashout of creator payable into escrow (minimum and escrow period enforced by Billing), or recycle creator payable into the subject's own spendable credit.

Capabilities
billing.cashout.request
Visibility
internal
Request body
application/json billing.cashout-request@1
Response
application/json billing.cashout-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.cashout.request</strong> (internal): Request a cashout of creator payable into escrow (minimum and escrow period enforced by Billing), or recycle creator payable into the subject&#39;s own spendable credit. Bought credit is never withdrawable.</p>

GET /api/v1/cashouts/{id}

Request a cashout of creator payable into escrow (minimum and escrow period enforced by Billing), or recycle creator payable into the subject's own spendable credit.

Capabilities
billing.cashout.request
Visibility
internal
Parameters
  • id (path, required)
Input
billing.cashout-request@1
Response
application/json billing.cashout-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.cashout.request</strong> (internal): Request a cashout of creator payable into escrow (minimum and escrow period enforced by Billing), or recycle creator payable into the subject&#39;s own spendable credit. Bought credit is never withdrawable.</p>

POST /api/v1/cashouts/{id}/approve

Operator payouts: list cashouts, approve one after its escrow period with the payout reference from the provider (required), or deny it (reversal back to creator payable).

Capabilities
billing.cashout.manage
Visibility
internal
Parameters
  • id (path, required)
Request body
application/json billing.cashout-decision@1
Response
application/json billing.cashout-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.cashout.manage</strong> (internal): Operator payouts: list cashouts, approve one after its escrow period with the payout reference from the provider (required), or deny it (reversal back to creator payable). Separately controlled from every other capability (ADR-012 rule 10).</p>

POST /api/v1/cashouts/{id}/deny

Operator payouts: list cashouts, approve one after its escrow period with the payout reference from the provider (required), or deny it (reversal back to creator payable).

Capabilities
billing.cashout.manage
Visibility
internal
Parameters
  • id (path, required)
Request body
application/json billing.cashout-decision@1
Response
application/json billing.cashout-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.cashout.manage</strong> (internal): Operator payouts: list cashouts, approve one after its escrow period with the payout reference from the provider (required), or deny it (reversal back to creator payable). Separately controlled from every other capability (ADR-012 rule 10).</p>

GET /api/v1/entitlements/{subject}

Is a subject entitled to a streamer's subscription right now, and until when.

Capabilities
billing.entitlement.check
Visibility
internal
Parameters
  • subject (path, required)
Response
application/json billing.entitlement-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.entitlement.check</strong> (internal): Is a subject entitled to a streamer&#39;s subscription right now, and until when. Answered from Billing alone (works with Live offline).</p>

POST /api/v1/intents

Start a checkout: create a payment intent priced by Billing (never by the client) for a Vibes purchase or a channel subscription, and get the provider checkout URL or PowerChat app_ref.

Capabilities
billing.intent.create
Visibility
internal
Request body
application/json billing.intent-request@1
Response
application/json billing.intent-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.intent.create</strong> (internal): Start a checkout: create a payment intent priced by Billing (never by the client) for a Vibes purchase or a channel subscription, and get the provider checkout URL or PowerChat app_ref. Also reads intents and captures approved PayPal orders.</p>

GET /api/v1/intents/{id}

Start a checkout: create a payment intent priced by Billing (never by the client) for a Vibes purchase or a channel subscription, and get the provider checkout URL or PowerChat app_ref.

Capabilities
billing.intent.create
Visibility
internal
Parameters
  • id (path, required)
Input
billing.intent-request@1
Response
application/json billing.intent-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.intent.create</strong> (internal): Start a checkout: create a payment intent priced by Billing (never by the client) for a Vibes purchase or a channel subscription, and get the provider checkout URL or PowerChat app_ref. Also reads intents and captures approved PayPal orders.</p>

POST /api/v1/intents/{id}/capture

Start a checkout: create a payment intent priced by Billing (never by the client) for a Vibes purchase or a channel subscription, and get the provider checkout URL or PowerChat app_ref.

Capabilities
billing.intent.create
Visibility
internal
Parameters
  • id (path, required)
Request body
application/json billing.intent-request@1
Response
application/json billing.intent-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.intent.create</strong> (internal): Start a checkout: create a payment intent priced by Billing (never by the client) for a Vibes purchase or a channel subscription, and get the provider checkout URL or PowerChat app_ref. Also reads intents and captures approved PayPal orders.</p>

POST /api/v1/purchases/settle

Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provide

Capabilities
billing.ledger.admin
Visibility
internal
Request body
application/json billing.admin-request@1
Response
application/json billing.admin-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.ledger.admin</strong> (internal): Operate the ledger: economy freeze switch (writes refused, reads served, webhooks queued), reconciliation runs, balanced manual adjustments with a reason, settling a verified provider receipt, provider-event reprocessing, the renewal sweep and import holds.</p>

POST /api/v1/recycle

Request a cashout of creator payable into escrow (minimum and escrow period enforced by Billing), or recycle creator payable into the subject's own spendable credit.

Capabilities
billing.cashout.request
Visibility
internal
Request body
application/json billing.cashout-request@1
Response
application/json billing.cashout-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.cashout.request</strong> (internal): Request a cashout of creator payable into escrow (minimum and escrow period enforced by Billing), or recycle creator payable into the subject&#39;s own spendable credit. Bought credit is never withdrawable.</p>

GET /api/v1/subscriptions

Is a subject entitled to a streamer's subscription right now, and until when.

Capabilities
billing.entitlement.check, billing.subscription.manage
Visibility
internal
Input
billing.subscription-request@1
Response
application/json one of billing.entitlement-result@1, billing.subscription-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.entitlement.check</strong> (internal): Is a subject entitled to a streamer&#39;s subscription right now, and until when. Answered from Billing alone (works with Live offline).</p> <p><strong>billing.subscription.manage</strong> (internal): Start or renew a channel subscription paid from credit (the streamer share is credited on every period), and cancel at period end (Stripe subscriptions are cancelled at Stripe). Receipt-paid subscriptions through the API additionally need billing.ledger.admin.</p>

POST /api/v1/subscriptions

Start or renew a channel subscription paid from credit (the streamer share is credited on every period), and cancel at period end (Stripe subscriptions are cancelled at Stripe).

Capabilities
billing.subscription.manage
Visibility
internal
Request body
application/json billing.subscription-request@1
Response
application/json billing.subscription-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.subscription.manage</strong> (internal): Start or renew a channel subscription paid from credit (the streamer share is credited on every period), and cancel at period end (Stripe subscriptions are cancelled at Stripe). Receipt-paid subscriptions through the API additionally need billing.ledger.admin.</p>

GET /api/v1/subscriptions/{id}

Is a subject entitled to a streamer's subscription right now, and until when.

Capabilities
billing.entitlement.check, billing.subscription.manage
Visibility
internal
Parameters
  • id (path, required)
Input
billing.subscription-request@1
Response
application/json one of billing.entitlement-result@1, billing.subscription-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.entitlement.check</strong> (internal): Is a subject entitled to a streamer&#39;s subscription right now, and until when. Answered from Billing alone (works with Live offline).</p> <p><strong>billing.subscription.manage</strong> (internal): Start or renew a channel subscription paid from credit (the streamer share is credited on every period), and cancel at period end (Stripe subscriptions are cancelled at Stripe). Receipt-paid subscriptions through the API additionally need billing.ledger.admin.</p>

POST /api/v1/subscriptions/{id}/cancel

Start or renew a channel subscription paid from credit (the streamer share is credited on every period), and cancel at period end (Stripe subscriptions are cancelled at Stripe).

Capabilities
billing.subscription.manage
Visibility
internal
Parameters
  • id (path, required)
Request body
application/json billing.subscription-request@1
Response
application/json billing.subscription-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.subscription.manage</strong> (internal): Start or renew a channel subscription paid from credit (the streamer share is credited on every period), and cancel at period end (Stripe subscriptions are cancelled at Stripe). Receipt-paid subscriptions through the API additionally need billing.ledger.admin.</p>

GET /api/v1/transactions

Read a subject's balances (spendable credit, creator payable, pending payouts) and transaction history.

Capabilities
billing.balance.read
Visibility
internal
Response
application/json billing.balance-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.balance.read</strong> (internal): Read a subject&#39;s balances (spendable credit, creator payable, pending payouts) and transaction history.</p>

GET /api/v1/transactions/{id}

Read a subject's balances (spendable credit, creator payable, pending payouts) and transaction history.

Capabilities
billing.balance.read
Visibility
internal
Parameters
  • id (path, required)
Response
application/json billing.balance-read-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.balance.read</strong> (internal): Read a subject&#39;s balances (spendable credit, creator payable, pending payouts) and transaction history.</p>

POST /api/v1/transfers

Give CREDIT to someone (tip, donation, paid interaction): user_credit of the giver to creator_payable of the recipient.

Capabilities
billing.transfer.create
Visibility
internal
Request body
application/json billing.transfer-request@1
Response
application/json billing.transfer-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.transfer.create</strong> (internal): Give CREDIT to someone (tip, donation, paid interaction): user_credit of the giver to creator_payable of the recipient. Self-dealing is refused by subject. Also refunds a credit-funded transfer back to its giver (e.g. a media request that never played). Idempotent by Idempotency-Key.</p>

POST /api/v1/transfers/{id}/refund

Give CREDIT to someone (tip, donation, paid interaction): user_credit of the giver to creator_payable of the recipient.

Capabilities
billing.transfer.create
Visibility
internal
Parameters
  • id (path, required)
Request body
application/json billing.transfer-request@1
Response
application/json billing.transfer-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>billing.transfer.create</strong> (internal): Give CREDIT to someone (tip, donation, paid interaction): user_credit of the giver to creator_payable of the recipient. Self-dealing is refused by subject. Also refunds a credit-funded transfer back to its giver (e.g. a media request that never played). Idempotent by Idempotency-Key.</p>