openvibers/openvibe.contracts Commits
Contracts 0.202.0: Tips support_links (other ways to support a creator, paid outside OpenVibe) (#182)
Changes
@@@ -4,6 +4,14 @@ All notable changes to `openvibe-contracts`. Releases are git tags (`vX.Y.Z`) thfrom `https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/<tag>`. Before v0.30.0,the notes were in the tag and commit messages (`git tag -n1`).++## 0.202.0 — 2026-10-17++++- OpenVibe.Tips: other ways to support a creator, paid outside OpenVibe (the owner's 10-08 ask: Billing is provider++ agnostic; creators bring Ko-fi, PayPal.me, Patreon and other links). Optional `support_links` on `tips.profile@1`++ (`{ provider, label, handle, url }`, Tips builds the link) and on `tips.profile-update-request@1`++ (`{ provider, handle }`, at most 8). Providers: Ko-fi, PayPal.me, Patreon, Buy Me a Coffee, Cash App, Venmo, GitHub++ Sponsors, Liberapay, Open Collective, Streamlabs and StreamElements tip pages.++## 0.201.0 — 2026-10-17- Subscription tiers priced by OpenVibe.Billing (the owner's VIP ask: creator memberships with tiers). New capability@@@ -227,6 +227,40 @@"null"],"description": "Creating a profile as a service: an https URL."++ },++ "support_links": {++ "type": "array",++ "maxItems": 8,++ "description": "Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).",++ "items": {++ "type": "object",++ "required": [++ "provider",++ "handle"++ ],++ "properties": {++ "provider": {++ "enum": [++ "kofi",++ "paypal",++ "patreon",++ "buymeacoffee",++ "cashapp",++ "venmo",++ "github",++ "liberapay",++ "opencollective",++ "streamlabs",++ "streamelements"++ ]++ },++ "handle": {++ "type": "string",++ "maxLength": 200++ }++ },++ "additionalProperties": false++ }}}}@@@ -231,6 +231,46 @@},"updated_at": {"type": "string"++ },++ "support_links": {++ "type": "array",++ "maxItems": 8,++ "description": "Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).",++ "items": {++ "type": "object",++ "required": [++ "provider",++ "label",++ "handle",++ "url"++ ],++ "properties": {++ "provider": {++ "enum": [++ "kofi",++ "paypal",++ "patreon",++ "buymeacoffee",++ "cashapp",++ "venmo",++ "github",++ "liberapay",++ "opencollective",++ "streamlabs",++ "streamelements"++ ]++ },++ "label": {++ "type": "string"++ },++ "handle": {++ "type": "string"++ },++ "url": {++ "type": "string"++ }++ }++ }}}}nnew file mode 100644@@@ -0,0 +1 @@++{ "support_links": [{ "provider": "myspace", "handle": "tierra" }] }nnew file mode 100644@@@ -0,0 +1 @@++{ "support_links": [{ "provider": "kofi", "handle": "tierra" }, { "provider": "paypal", "handle": "https://paypal.me/tierra" }] }@@@ -19002,6 +19002,40 @@"null"],"description": "Creating a profile as a service: an https URL."++ },++ "support_links": {++ "type": "array",++ "maxItems": 8,++ "description": "Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).",++ "items": {++ "type": "object",++ "required": [++ "provider",++ "handle"++ ],++ "properties": {++ "provider": {++ "enum": [++ "kofi",++ "paypal",++ "patreon",++ "buymeacoffee",++ "cashapp",++ "venmo",++ "github",++ "liberapay",++ "opencollective",++ "streamlabs",++ "streamelements"++ ]++ },++ "handle": {++ "type": "string",++ "maxLength": 200++ }++ },++ "additionalProperties": false++ }}}}@@@ -19243,6 +19277,46 @@},"updated_at": {"type": "string"++ },++ "support_links": {++ "type": "array",++ "maxItems": 8,++ "description": "Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).",++ "items": {++ "type": "object",++ "required": [++ "provider",++ "label",++ "handle",++ "url"++ ],++ "properties": {++ "provider": {++ "enum": [++ "kofi",++ "paypal",++ "patreon",++ "buymeacoffee",++ "cashapp",++ "venmo",++ "github",++ "liberapay",++ "opencollective",++ "streamlabs",++ "streamelements"++ ]++ },++ "label": {++ "type": "string"++ },++ "handle": {++ "type": "string"++ },++ "url": {++ "type": "string"++ }++ }++ }}}}@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Actor API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.AI API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Billing API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Blog API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Bot API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Chat API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Codes API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Community API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Coupons API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Deals API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Events API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Food API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Games API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Host API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Inventory API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Live API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.MediaHub API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Media API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Network API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.News API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenRestream API",-- "version": "0.201.0",-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Play API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Quest API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Reviews API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Run API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Search API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Services API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Sources API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Space API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Tips API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3966,6 +3966,40 @@"null"],"description": "Creating a profile as a service: an https URL."++ },++ "support_links": {++ "type": "array",++ "maxItems": 8,++ "description": "Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).",++ "items": {++ "type": "object",++ "required": [++ "provider",++ "handle"++ ],++ "properties": {++ "provider": {++ "enum": [++ "kofi",++ "paypal",++ "patreon",++ "buymeacoffee",++ "cashapp",++ "venmo",++ "github",++ "liberapay",++ "opencollective",++ "streamlabs",++ "streamelements"++ ]++ },++ "handle": {++ "type": "string",++ "maxLength": 200++ }++ },++ "additionalProperties": false++ }}}},@@@ -4200,6 +4234,46 @@},"updated_at": {"type": "string"++ },++ "support_links": {++ "type": "array",++ "maxItems": 8,++ "description": "Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).",++ "items": {++ "type": "object",++ "required": [++ "provider",++ "label",++ "handle",++ "url"++ ],++ "properties": {++ "provider": {++ "enum": [++ "kofi",++ "paypal",++ "patreon",++ "buymeacoffee",++ "cashapp",++ "venmo",++ "github",++ "liberapay",++ "opencollective",++ "streamlabs",++ "streamelements"++ ]++ },++ "label": {++ "type": "string"++ },++ "handle": {++ "type": "string"++ },++ "url": {++ "type": "string"++ }++ }++ }}}},@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Tools API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Trade API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.VIP API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Watch API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Wiki API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Work API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -3,8 +3,8 @@"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema","info": {"title": "OpenVibe.Zone API",-- "version": "0.201.0",-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",++ "version": "0.202.0",++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.","license": {"name": "MIT","identifier": "MIT"@@@ -140952,6 +140952,569 @@ export interface TipsProfileUpdateRequest {* Creating a profile as a service: an https URL.*/avatar_url?: string | null;++ /**++ * Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).++ *++ * @maxItems 8++ */++ support_links?:++ | []++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ handle: string;++ }++ ];}/** [email protected] (owner: tips) */@@@ -141425,6 +141988,641 @@ export interface TipsProfile {revision?: number;created_at?: string;updated_at?: string;++ /**++ * Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).++ *++ * @maxItems 8++ */++ support_links?:++ | []++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ }++ ]++ | [++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ },++ {++ provider:++ | "kofi"++ | "paypal"++ | "patreon"++ | "buymeacoffee"++ | "cashapp"++ | "venmo"++ | "github"++ | "liberapay"++ | "opencollective"++ | "streamlabs"++ | "streamelements";++ label: string;++ handle: string;++ url: string;++ }++ ];}/** [email protected] (owner: tips) */@@@ -1,12 +1,12 @@{"name": "openvibe-contracts",-- "version": "0.201.0",++ "version": "0.202.0","lockfileVersion": 3,"requires": true,"packages": {"": {"name": "openvibe-contracts",-- "version": "0.201.0",++ "version": "0.202.0","license": "AGPL-3.0-only","dependencies": {"ajv": "^8.17.1",@@@ -1,6 +1,6 @@{"name": "openvibe-contracts",-- "version": "0.201.0",++ "version": "0.202.0","description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.","main": "index.js","types": "generated/typescript/index.d.ts",
@@ -4,6 +4,14 @@ All notable changes to `openvibe-contracts`. Releases are git tags (`vX.Y.Z`) th
@@ -4,6 +4,14 @@ All notable changes to `openvibe-contracts`. Releases are git tags (`vX.Y.Z`) th
from `https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/<tag>`. Before v0.30.0,
from `https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/<tag>`. Before v0.30.0,
the notes were in the tag and commit messages (`git tag -n1`).
the notes were in the tag and commit messages (`git tag -n1`).
+## 0.202.0 — 2026-10-17
+
+- OpenVibe.Tips: other ways to support a creator, paid outside OpenVibe (the owner's 10-08 ask: Billing is provider
+ agnostic; creators bring Ko-fi, PayPal.me, Patreon and other links). Optional `support_links` on `tips.profile@1`
+ (`{ provider, label, handle, url }`, Tips builds the link) and on `tips.profile-update-request@1`
+ (`{ provider, handle }`, at most 8). Providers: Ko-fi, PayPal.me, Patreon, Buy Me a Coffee, Cash App, Venmo, GitHub
+ Sponsors, Liberapay, Open Collective, Streamlabs and StreamElements tip pages.
+
## 0.201.0 — 2026-10-17
## 0.201.0 — 2026-10-17
- Subscription tiers priced by OpenVibe.Billing (the owner's VIP ask: creator memberships with tiers). New capability
- Subscription tiers priced by OpenVibe.Billing (the owner's VIP ask: creator memberships with tiers). New capability
@@ -227,6 +227,40 @@
@@ -227,6 +227,40 @@
"null"
"null"
],
],
"description": "Creating a profile as a service: an https URL."
"description": "Creating a profile as a service: an https URL."
+ },
+ "support_links": {
+ "type": "array",
+ "maxItems": 8,
+ "description": "Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).",
+ "items": {
+ "type": "object",
+ "required": [
+ "provider",
+ "handle"
+ ],
+ "properties": {
+ "provider": {
+ "enum": [
+ "kofi",
+ "paypal",
+ "patreon",
+ "buymeacoffee",
+ "cashapp",
+ "venmo",
+ "github",
+ "liberapay",
+ "opencollective",
+ "streamlabs",
+ "streamelements"
+ ]
+ },
+ "handle": {
+ "type": "string",
+ "maxLength": 200
+ }
+ },
+ "additionalProperties": false
+ }
}
}
}
}
}
}
@@ -231,6 +231,46 @@
@@ -231,6 +231,46 @@
},
},
"updated_at": {
"updated_at": {
"type": "string"
"type": "string"
+ },
+ "support_links": {
+ "type": "array",
+ "maxItems": 8,
+ "description": "Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).",
+ "items": {
+ "type": "object",
+ "required": [
+ "provider",
+ "label",
+ "handle",
+ "url"
+ ],
+ "properties": {
+ "provider": {
+ "enum": [
+ "kofi",
+ "paypal",
+ "patreon",
+ "buymeacoffee",
+ "cashapp",
+ "venmo",
+ "github",
+ "liberapay",
+ "opencollective",
+ "streamlabs",
+ "streamelements"
+ ]
+ },
+ "label": {
+ "type": "string"
+ },
+ "handle": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ }
+ }
}
}
}
}
}
}
new file mode 100644
new file mode 100644
@@ -0,0 +1 @@
@@ -0,0 +1 @@
+{ "support_links": [{ "provider": "myspace", "handle": "tierra" }] }
new file mode 100644
new file mode 100644
@@ -0,0 +1 @@
@@ -0,0 +1 @@
+{ "support_links": [{ "provider": "kofi", "handle": "tierra" }, { "provider": "paypal", "handle": "https://paypal.me/tierra" }] }
@@ -19002,6 +19002,40 @@
@@ -19002,6 +19002,40 @@
"null"
"null"
],
],
"description": "Creating a profile as a service: an https URL."
"description": "Creating a profile as a service: an https URL."
+ },
+ "support_links": {
+ "type": "array",
+ "maxItems": 8,
+ "description": "Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).",
+ "items": {
+ "type": "object",
+ "required": [
+ "provider",
+ "handle"
+ ],
+ "properties": {
+ "provider": {
+ "enum": [
+ "kofi",
+ "paypal",
+ "patreon",
+ "buymeacoffee",
+ "cashapp",
+ "venmo",
+ "github",
+ "liberapay",
+ "opencollective",
+ "streamlabs",
+ "streamelements"
+ ]
+ },
+ "handle": {
+ "type": "string",
+ "maxLength": 200
+ }
+ },
+ "additionalProperties": false
+ }
}
}
}
}
}
}
@@ -19243,6 +19277,46 @@
@@ -19243,6 +19277,46 @@
},
},
"updated_at": {
"updated_at": {
"type": "string"
"type": "string"
+ },
+ "support_links": {
+ "type": "array",
+ "maxItems": 8,
+ "description": "Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).",
+ "items": {
+ "type": "object",
+ "required": [
+ "provider",
+ "label",
+ "handle",
+ "url"
+ ],
+ "properties": {
+ "provider": {
+ "enum": [
+ "kofi",
+ "paypal",
+ "patreon",
+ "buymeacoffee",
+ "cashapp",
+ "venmo",
+ "github",
+ "liberapay",
+ "opencollective",
+ "streamlabs",
+ "streamelements"
+ ]
+ },
+ "label": {
+ "type": "string"
+ },
+ "handle": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ }
+ }
}
}
}
}
}
}
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Actor API",
"title": "OpenVibe.Actor API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.AI API",
"title": "OpenVibe.AI API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Billing API",
"title": "OpenVibe.Billing API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Blog API",
"title": "OpenVibe.Blog API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Bot API",
"title": "OpenVibe.Bot API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Chat API",
"title": "OpenVibe.Chat API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Codes API",
"title": "OpenVibe.Codes API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Community API",
"title": "OpenVibe.Community API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Coupons API",
"title": "OpenVibe.Coupons API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Deals API",
"title": "OpenVibe.Deals API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Events API",
"title": "OpenVibe.Events API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Food API",
"title": "OpenVibe.Food API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Games API",
"title": "OpenVibe.Games API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Host API",
"title": "OpenVibe.Host API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Inventory API",
"title": "OpenVibe.Inventory API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Live API",
"title": "OpenVibe.Live API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.MediaHub API",
"title": "OpenVibe.MediaHub API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Media API",
"title": "OpenVibe.Media API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Network API",
"title": "OpenVibe.Network API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.News API",
"title": "OpenVibe.News API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenRestream API",
"title": "OpenRestream API",
- "version": "0.201.0",
- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Play API",
"title": "OpenVibe.Play API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Quest API",
"title": "OpenVibe.Quest API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Reviews API",
"title": "OpenVibe.Reviews API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Run API",
"title": "OpenVibe.Run API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Search API",
"title": "OpenVibe.Search API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Services API",
"title": "OpenVibe.Services API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Sources API",
"title": "OpenVibe.Sources API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Space API",
"title": "OpenVibe.Space API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Tips API",
"title": "OpenVibe.Tips API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3966,6 +3966,40 @@
@@ -3966,6 +3966,40 @@
"null"
"null"
],
],
"description": "Creating a profile as a service: an https URL."
"description": "Creating a profile as a service: an https URL."
+ },
+ "support_links": {
+ "type": "array",
+ "maxItems": 8,
+ "description": "Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).",
+ "items": {
+ "type": "object",
+ "required": [
+ "provider",
+ "handle"
+ ],
+ "properties": {
+ "provider": {
+ "enum": [
+ "kofi",
+ "paypal",
+ "patreon",
+ "buymeacoffee",
+ "cashapp",
+ "venmo",
+ "github",
+ "liberapay",
+ "opencollective",
+ "streamlabs",
+ "streamelements"
+ ]
+ },
+ "handle": {
+ "type": "string",
+ "maxLength": 200
+ }
+ },
+ "additionalProperties": false
+ }
}
}
}
}
},
},
@@ -4200,6 +4234,46 @@
@@ -4200,6 +4234,46 @@
},
},
"updated_at": {
"updated_at": {
"type": "string"
"type": "string"
+ },
+ "support_links": {
+ "type": "array",
+ "maxItems": 8,
+ "description": "Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).",
+ "items": {
+ "type": "object",
+ "required": [
+ "provider",
+ "label",
+ "handle",
+ "url"
+ ],
+ "properties": {
+ "provider": {
+ "enum": [
+ "kofi",
+ "paypal",
+ "patreon",
+ "buymeacoffee",
+ "cashapp",
+ "venmo",
+ "github",
+ "liberapay",
+ "opencollective",
+ "streamlabs",
+ "streamelements"
+ ]
+ },
+ "label": {
+ "type": "string"
+ },
+ "handle": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ }
+ }
}
}
}
}
},
},
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Tools API",
"title": "OpenVibe.Tools API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Trade API",
"title": "OpenVibe.Trade API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.VIP API",
"title": "OpenVibe.VIP API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Watch API",
"title": "OpenVibe.Watch API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Wiki API",
"title": "OpenVibe.Wiki API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Work API",
"title": "OpenVibe.Work API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -3,8 +3,8 @@
@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"info": {
"title": "OpenVibe.Zone API",
"title": "OpenVibe.Zone API",
- "version": "0.201.0",
- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.201.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
+ "version": "0.202.0",
+ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.202.0): each operation lists the capabilities it performs; a token for the service's audience must carry one of them unless the route is open. Generated by openvibe-contracts lib/openapi.js; do not edit.",
"license": {
"license": {
"name": "MIT",
"name": "MIT",
"identifier": "MIT"
"identifier": "MIT"
@@ -140952,6 +140952,569 @@ export interface TipsProfileUpdateRequest {
@@ -140952,6 +140952,569 @@ export interface TipsProfileUpdateRequest {
* Creating a profile as a service: an https URL.
* Creating a profile as a service: an https URL.
*/
*/
avatar_url?: string | null;
avatar_url?: string | null;
+ /**
+ * Replace the creator's other ways to support them (one per provider, at most 8): { provider, handle }, where handle may also be the creator's link on that service (https://ko-fi.com/name). An empty list removes them; an unknown provider or a handle that service does not allow is refused (422 tips.invalid_input).
+ *
+ * @maxItems 8
+ */
+ support_links?:
+ | []
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ handle: string;
+ }
+ ];
}
}
/** [email protected] (owner: tips) */
/** [email protected] (owner: tips) */
@@ -141425,6 +141988,641 @@ export interface TipsProfile {
@@ -141425,6 +141988,641 @@ export interface TipsProfile {
revision?: number;
revision?: number;
created_at?: string;
created_at?: string;
updated_at?: string;
updated_at?: string;
+ /**
+ * Other ways to support the creator, paid outside OpenVibe (Billing never holds these): the creator's handle on a known service, and the link Tips builds from it (never a free-form URL).
+ *
+ * @maxItems 8
+ */
+ support_links?:
+ | []
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ }
+ ]
+ | [
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ },
+ {
+ provider:
+ | "kofi"
+ | "paypal"
+ | "patreon"
+ | "buymeacoffee"
+ | "cashapp"
+ | "venmo"
+ | "github"
+ | "liberapay"
+ | "opencollective"
+ | "streamlabs"
+ | "streamelements";
+ label: string;
+ handle: string;
+ url: string;
+ }
+ ];
}
}
/** [email protected] (owner: tips) */
/** [email protected] (owner: tips) */
@@ -1,12 +1,12 @@
@@ -1,12 +1,12 @@
{
{
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.201.0",
+ "version": "0.202.0",
"lockfileVersion": 3,
"lockfileVersion": 3,
"requires": true,
"requires": true,
"packages": {
"packages": {
"": {
"": {
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.201.0",
+ "version": "0.202.0",
"license": "AGPL-3.0-only",
"license": "AGPL-3.0-only",
"dependencies": {
"dependencies": {
"ajv": "^8.17.1",
"ajv": "^8.17.1",
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"name": "openvibe-contracts",
"name": "openvibe-contracts",
- "version": "0.201.0",
+ "version": "0.202.0",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"description": "Machine-readable contracts for the OpenVibe network: schemas, manifests, ids, error envelope, capability checks.",
"main": "index.js",
"main": "index.js",
"types": "generated/typescript/index.d.ts",
"types": "generated/typescript/index.d.ts",