openvibers/openvibe.contracts Commits

Define Exchange API platform and search contracts (#372)

OP OpenVibers committed 4 days ago · 14220d81aa · 71 files, +1043 −98

* Define Exchange keys, usage, deployments and search contracts

* 0.371.0: on top of main (Exchange API platform and search: exchange.key@1, exchange.k)

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex 283cb658..eba6e891 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -1,5 +1,9 @@
# Changelog
++## 0.371.0 — 2026-11-09
++
++- Exchange API platform and search: exchange.key@1, exchange.key-created@1, exchange.usage@1, exchange.deployments@1, exchange.search-result@1, exchange.image-result@1, and the Exchange manifest's routes
++
## 0.370.0 — 2026-11-09
- design.component@1: one platform-neutral definition per shared interface (the public registry on openvibe.design)
ddiff --git a/contracts/catalog.json b/contracts/catalog.json
iindex 952ae0d0..3cd48a7b 100644
---- a/contracts/catalog.json
++++ b/contracts/catalog.json
@@@ -10767,6 +10767,66 @@
"visibility": "public",
"compatibility": "backward",
"status": "active"
++ },
++ {
++ "id": "exchange.key",
++ "version": "1.0.0",
++ "owner": "exchange",
++ "schema": "exchange/key.v1.json",
++ "visibility": "public",
++ "compatibility": "backward",
++ "status": "active",
++ "adr": "ADR-025"
++ },
++ {
++ "id": "exchange.usage",
++ "version": "1.0.0",
++ "owner": "exchange",
++ "schema": "exchange/usage.v1.json",
++ "visibility": "public",
++ "compatibility": "backward",
++ "status": "active",
++ "adr": "ADR-025"
++ },
++ {
++ "id": "exchange.deployments",
++ "version": "1.0.0",
++ "owner": "exchange",
++ "schema": "exchange/deployments.v1.json",
++ "visibility": "public",
++ "compatibility": "backward",
++ "status": "active",
++ "adr": "ADR-025"
++ },
++ {
++ "id": "exchange.search-result",
++ "version": "1.0.0",
++ "owner": "exchange",
++ "schema": "exchange/search-result.v1.json",
++ "visibility": "public",
++ "compatibility": "backward",
++ "status": "active",
++ "adr": "ADR-025"
++ },
++ {
++ "id": "exchange.image-result",
++ "version": "1.0.0",
++ "owner": "exchange",
++ "schema": "exchange/image-result.v1.json",
++ "visibility": "public",
++ "compatibility": "backward",
++ "status": "active",
++ "adr": "ADR-025"
++ },
++ {
++ "id": "exchange.key-created",
++ "version": "1.0.0",
++ "owner": "exchange",
++ "schema": "exchange/key-created.v1.json",
++ "visibility": "public",
++ "compatibility": "backward",
++ "status": "active",
++ "adr": "ADR-025"
}
]
}
ddiff --git a/contracts/exchange/deployments.v1.json b/contracts/exchange/deployments.v1.json
nnew file mode 100644
iindex 00000000..a208cb60
---- /dev/null
++++ b/contracts/exchange/deployments.v1.json
@@@ -0,0 +1,23 @@
++{
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/deployments.v1.json",
++ "title": "ExchangeDeployments",
++ "type": "object",
++ "required": [
++ "endpoints",
++ "status"
++ ],
++ "properties": {
++ "endpoints": {
++ "type": "array",
++ "items": {
++ "type": "object"
++ }
++ },
++ "status": {
++ "type": "object"
++ }
++ },
++ "additionalProperties": false,
++ "description": "Exchange API platform ExchangeDeployments response. Private account data is available only to its owner."
++}
ddiff --git a/contracts/exchange/image-result.v1.json b/contracts/exchange/image-result.v1.json
nnew file mode 100644
iindex 00000000..b8a55073
---- /dev/null
++++ b/contracts/exchange/image-result.v1.json
@@@ -0,0 +1,105 @@
++{
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/image-result.v1.json",
++ "title": "ExchangeImageResult",
++ "type": "object",
++ "required": [
++ "results",
++ "receipt"
++ ],
++ "properties": {
++ "results": {
++ "type": "array",
++ "items": {
++ "type": "object",
++ "required": [
++ "title",
++ "url",
++ "snippet",
++ "engine",
++ "published",
++ "license",
++ "author",
++ "source_page",
++ "attribution"
++ ],
++ "properties": {
++ "title": {
++ "type": "string"
++ },
++ "url": {
++ "type": "string",
++ "format": "uri"
++ },
++ "snippet": {
++ "type": "string"
++ },
++ "engine": {
++ "type": "string"
++ },
++ "published": {
++ "type": [
++ "string",
++ "null"
++ ]
++ },
++ "license": {
++ "type": [
++ "string",
++ "null"
++ ]
++ },
++ "author": {
++ "type": [
++ "string",
++ "null"
++ ]
++ },
++ "source_page": {
++ "type": [
++ "string",
++ "null"
++ ]
++ },
++ "attribution": {
++ "type": [
++ "string",
++ "null"
++ ]
++ },
++ "thumbnail": {
++ "type": [
++ "string",
++ "null"
++ ]
++ }
++ },
++ "additionalProperties": true
++ }
++ },
++ "receipt": {
++ "type": "object",
++ "required": [
++ "engine",
++ "cost_usd",
++ "time_ms"
++ ],
++ "properties": {
++ "engine": {
++ "type": "string"
++ },
++ "cost_usd": {
++ "type": "number",
++ "minimum": 0
++ },
++ "time_ms": {
++ "type": "number",
++ "minimum": 0
++ }
++ },
++ "additionalProperties": false
++ }
++ },
++ "additionalProperties": false,
++ "description": "Exchange API platform ExchangeImageResult response. Private account data is available only to its owner."
++}
ddiff --git a/contracts/exchange/key-created.v1.json b/contracts/exchange/key-created.v1.json
nnew file mode 100644
iindex 00000000..536f8924
---- /dev/null
++++ b/contracts/exchange/key-created.v1.json
@@@ -0,0 +1,21 @@
++{
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/key-created.v1.json",
++ "title": "ExchangeKeyCreated",
++ "description": "An Exchange key and its one-time secret. Never cache or log this response.",
++ "type": "object",
++ "required": [
++ "key",
++ "secret"
++ ],
++ "properties": {
++ "key": {
++ "$ref": "key.v1.json"
++ },
++ "secret": {
++ "type": "string",
++ "pattern": "^ovx_[A-Za-z0-9_-]{43}$"
++ }
++ },
++ "additionalProperties": false
++}
ddiff --git a/contracts/exchange/key.v1.json b/contracts/exchange/key.v1.json
nnew file mode 100644
iindex 00000000..b8a6ba44
---- /dev/null
++++ b/contracts/exchange/key.v1.json
@@@ -0,0 +1,48 @@
++{
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/key.v1.json",
++ "title": "ExchangeKey",
++ "type": "object",
++ "required": [
++ "id",
++ "name",
++ "prefix",
++ "monthly_cap_usd",
++ "allowed_models",
++ "created_at",
++ "revoked_at"
++ ],
++ "properties": {
++ "id": {
++ "type": "string"
++ },
++ "name": {
++ "type": "string"
++ },
++ "prefix": {
++ "type": "string"
++ },
++ "monthly_cap_usd": {
++ "type": "number",
++ "minimum": 0
++ },
++ "allowed_models": {
++ "type": "array",
++ "items": {
++ "type": "string"
++ }
++ },
++ "created_at": {
++ "type": "string",
++ "format": "date-time"
++ },
++ "revoked_at": {
++ "type": [
++ "string",
++ "null"
++ ]
++ }
++ },
++ "additionalProperties": false,
++ "description": "Exchange API platform ExchangeKey response. Private account data is available only to its owner."
++}
ddiff --git a/contracts/exchange/search-result.v1.json b/contracts/exchange/search-result.v1.json
nnew file mode 100644
iindex 00000000..4620a46a
---- /dev/null
++++ b/contracts/exchange/search-result.v1.json
@@@ -0,0 +1,71 @@
++{
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/search-result.v1.json",
++ "title": "ExchangeSearchResult",
++ "type": "object",
++ "required": [
++ "results",
++ "receipt"
++ ],
++ "properties": {
++ "results": {
++ "type": "array",
++ "items": {
++ "type": "object",
++ "required": [
++ "title",
++ "url",
++ "snippet",
++ "engine",
++ "published"
++ ],
++ "properties": {
++ "title": {
++ "type": "string"
++ },
++ "url": {
++ "type": "string",
++ "format": "uri"
++ },
++ "snippet": {
++ "type": "string"
++ },
++ "engine": {
++ "type": "string"
++ },
++ "published": {
++ "type": [
++ "string",
++ "null"
++ ]
++ }
++ },
++ "additionalProperties": true
++ }
++ },
++ "receipt": {
++ "type": "object",
++ "required": [
++ "engine",
++ "cost_usd",
++ "time_ms"
++ ],
++ "properties": {
++ "engine": {
++ "type": "string"
++ },
++ "cost_usd": {
++ "type": "number",
++ "minimum": 0
++ },
++ "time_ms": {
++ "type": "number",
++ "minimum": 0
++ }
++ },
++ "additionalProperties": false
++ }
++ },
++ "additionalProperties": false,
++ "description": "Exchange API platform ExchangeSearchResult response. Private account data is available only to its owner."
++}
ddiff --git a/contracts/exchange/usage.v1.json b/contracts/exchange/usage.v1.json
nnew file mode 100644
iindex 00000000..bb687d36
---- /dev/null
++++ b/contracts/exchange/usage.v1.json
@@@ -0,0 +1,66 @@
++{
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/usage.v1.json",
++ "title": "ExchangeUsage",
++ "type": "object",
++ "required": [
++ "rows"
++ ],
++ "properties": {
++ "rows": {
++ "type": "array",
++ "items": {
++ "type": "object",
++ "required": [
++ "day",
++ "key_id",
++ "model",
++ "requests",
++ "tokens_in",
++ "tokens_out",
++ "cost_usd",
++ "status"
++ ],
++ "properties": {
++ "day": {
++ "type": "string"
++ },
++ "key_id": {
++ "type": "string"
++ },
++ "model": {
++ "type": "string"
++ },
++ "status": {
++ "type": "string"
++ },
++ "requests": {
++ "type": [
++ "number",
++ "string"
++ ]
++ },
++ "tokens_in": {
++ "type": [
++ "number",
++ "string"
++ ]
++ },
++ "tokens_out": {
++ "type": [
++ "number",
++ "string"
++ ]
++ },
++ "cost_usd": {
++ "type": "number",
++ "minimum": 0
++ }
++ },
++ "additionalProperties": false
++ }
++ }
++ },
++ "additionalProperties": false,
++ "description": "Exchange API platform ExchangeUsage response. Private account data is available only to its owner."
++}
ddiff --git a/fixtures/exchange.deployments/invalid/platform.json b/fixtures/exchange.deployments/invalid/platform.json
nnew file mode 100644
iindex 00000000..0967ef42
---- /dev/null
++++ b/fixtures/exchange.deployments/invalid/platform.json
@@@ -0,0 +1 @@
++{}
ddiff --git a/fixtures/exchange.deployments/valid/platform.json b/fixtures/exchange.deployments/valid/platform.json
nnew file mode 100644
iindex 00000000..a66d2921
---- /dev/null
++++ b/fixtures/exchange.deployments/valid/platform.json
@@@ -0,0 +1,4 @@
++{
++ "endpoints": [],
++ "status": {}
++}
ddiff --git a/fixtures/exchange.image-result/invalid/platform.json b/fixtures/exchange.image-result/invalid/platform.json
nnew file mode 100644
iindex 00000000..0967ef42
---- /dev/null
++++ b/fixtures/exchange.image-result/invalid/platform.json
@@@ -0,0 +1 @@
++{}
ddiff --git a/fixtures/exchange.image-result/valid/platform.json b/fixtures/exchange.image-result/valid/platform.json
nnew file mode 100644
iindex 00000000..54430da2
---- /dev/null
++++ b/fixtures/exchange.image-result/valid/platform.json
@@@ -0,0 +1,8 @@
++{
++ "results": [],
++ "receipt": {
++ "engine": "openverse",
++ "cost_usd": 0,
++ "time_ms": 5
++ }
++}
ddiff --git a/fixtures/exchange.key-created/invalid/platform.json b/fixtures/exchange.key-created/invalid/platform.json
nnew file mode 100644
iindex 00000000..3987dfb5
---- /dev/null
++++ b/fixtures/exchange.key-created/invalid/platform.json
@@@ -0,0 +1,4 @@
++{
++ "key": {},
++ "secret": "bad"
++}
ddiff --git a/fixtures/exchange.key-created/valid/platform.json b/fixtures/exchange.key-created/valid/platform.json
nnew file mode 100644
iindex 00000000..d457a0f7
---- /dev/null
++++ b/fixtures/exchange.key-created/valid/platform.json
@@@ -0,0 +1,14 @@
++{
++ "key": {
++ "id": "xkey_example",
++ "name": "App",
++ "prefix": "ovx_exampl",
++ "monthly_cap_usd": 10,
++ "allowed_models": [
++ "m"
++ ],
++ "created_at": "2026-11-09T00:00:00Z",
++ "revoked_at": null
++ },
++ "secret": "ovx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
++}
ddiff --git a/fixtures/exchange.key/invalid/platform.json b/fixtures/exchange.key/invalid/platform.json
nnew file mode 100644
iindex 00000000..0967ef42
---- /dev/null
++++ b/fixtures/exchange.key/invalid/platform.json
@@@ -0,0 +1 @@
++{}
ddiff --git a/fixtures/exchange.key/valid/platform.json b/fixtures/exchange.key/valid/platform.json
nnew file mode 100644
iindex 00000000..50a21150
---- /dev/null
++++ b/fixtures/exchange.key/valid/platform.json
@@@ -0,0 +1,11 @@
++{
++ "id": "xkey_example",
++ "name": "App",
++ "prefix": "ovx_exampl",
++ "monthly_cap_usd": 10,
++ "allowed_models": [
++ "m"
++ ],
++ "created_at": "2026-11-09T00:00:00Z",
++ "revoked_at": null
++}
ddiff --git a/fixtures/exchange.search-result/invalid/platform.json b/fixtures/exchange.search-result/invalid/platform.json
nnew file mode 100644
iindex 00000000..0967ef42
---- /dev/null
++++ b/fixtures/exchange.search-result/invalid/platform.json
@@@ -0,0 +1 @@
++{}
ddiff --git a/fixtures/exchange.search-result/valid/platform.json b/fixtures/exchange.search-result/valid/platform.json
nnew file mode 100644
iindex 00000000..ff549924
---- /dev/null
++++ b/fixtures/exchange.search-result/valid/platform.json
@@@ -0,0 +1,8 @@
++{
++ "results": [],
++ "receipt": {
++ "engine": "openvibe",
++ "cost_usd": 0,
++ "time_ms": 5
++ }
++}
ddiff --git a/fixtures/exchange.usage/invalid/platform.json b/fixtures/exchange.usage/invalid/platform.json
nnew file mode 100644
iindex 00000000..0967ef42
---- /dev/null
++++ b/fixtures/exchange.usage/invalid/platform.json
@@@ -0,0 +1 @@
++{}
ddiff --git a/fixtures/exchange.usage/valid/platform.json b/fixtures/exchange.usage/valid/platform.json
nnew file mode 100644
iindex 00000000..c1882d70
---- /dev/null
++++ b/fixtures/exchange.usage/valid/platform.json
@@@ -0,0 +1,3 @@
++{
++ "rows": []
++}
ddiff --git a/generated/json-schema/bundle.json b/generated/json-schema/bundle.json
iindex f70ea050..f76f1b78 100644
---- a/generated/json-schema/bundle.json
++++ b/generated/json-schema/bundle.json
@@@ -118691,6 +118691,370 @@
}
}
}
++ },
++ "exchange.key": {
++ "version": "1.0.0",
++ "owner": "exchange",
++ "status": "active",
++ "schema": {
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/key.v1.json",
++ "title": "ExchangeKey",
++ "type": "object",
++ "required": [
++ "id",
++ "name",
++ "prefix",
++ "monthly_cap_usd",
++ "allowed_models",
++ "created_at",
++ "revoked_at"
++ ],
++ "properties": {
++ "id": {
++ "type": "string"
++ },
++ "name": {
++ "type": "string"
++ },
++ "prefix": {
++ "type": "string"
++ },
++ "monthly_cap_usd": {
++ "type": "number",
++ "minimum": 0
++ },
++ "allowed_models": {
++ "type": "array",
++ "items": {
++ "type": "string"
++ }
++ },
++ "created_at": {
++ "type": "string",
++ "format": "date-time"
++ },
++ "revoked_at": {
++ "type": [
++ "string",
++ "null"
++ ]
++ }
++ },
++ "additionalProperties": false,
++ "description": "Exchange API platform ExchangeKey response. Private account data is available only to its owner."
++ }
++ },
++ "exchange.usage": {
++ "version": "1.0.0",
++ "owner": "exchange",
++ "status": "active",
++ "schema": {
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/usage.v1.json",
++ "title": "ExchangeUsage",
++ "type": "object",
++ "required": [
++ "rows"
++ ],
++ "properties": {
++ "rows": {
++ "type": "array",
++ "items": {
++ "type": "object",
++ "required": [
++ "day",
++ "key_id",
++ "model",
++ "requests",
++ "tokens_in",
++ "tokens_out",
++ "cost_usd",
++ "status"
++ ],
++ "properties": {
++ "day": {
++ "type": "string"
++ },
++ "key_id": {
++ "type": "string"
++ },
++ "model": {
++ "type": "string"
++ },
++ "status": {
++ "type": "string"
++ },
++ "requests": {
++ "type": [
++ "number",
++ "string"
++ ]
++ },
++ "tokens_in": {
++ "type": [
++ "number",
++ "string"
++ ]
++ },
++ "tokens_out": {
++ "type": [
++ "number",
++ "string"
++ ]
++ },
++ "cost_usd": {
++ "type": "number",
++ "minimum": 0
++ }
++ },
++ "additionalProperties": false
++ }
++ }
++ },
++ "additionalProperties": false,
++ "description": "Exchange API platform ExchangeUsage response. Private account data is available only to its owner."
++ }
++ },
++ "exchange.deployments": {
++ "version": "1.0.0",
++ "owner": "exchange",
++ "status": "active",
++ "schema": {
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/deployments.v1.json",
++ "title": "ExchangeDeployments",
++ "type": "object",
++ "required": [
++ "endpoints",
++ "status"
++ ],
++ "properties": {
++ "endpoints": {
++ "type": "array",
++ "items": {
++ "type": "object"
++ }
++ },
++ "status": {
++ "type": "object"
++ }
++ },
++ "additionalProperties": false,
++ "description": "Exchange API platform ExchangeDeployments response. Private account data is available only to its owner."
++ }
++ },
++ "exchange.search-result": {
++ "version": "1.0.0",
++ "owner": "exchange",
++ "status": "active",
++ "schema": {
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/search-result.v1.json",
++ "title": "ExchangeSearchResult",
++ "type": "object",
++ "required": [
++ "results",
++ "receipt"
++ ],
++ "properties": {
++ "results": {
++ "type": "array",
++ "items": {
++ "type": "object",
++ "required": [
++ "title",
++ "url",
++ "snippet",
++ "engine",
++ "published"
++ ],
++ "properties": {
++ "title": {
++ "type": "string"
++ },
++ "url": {
++ "type": "string",
++ "format": "uri"
++ },
++ "snippet": {
++ "type": "string"
++ },
++ "engine": {
++ "type": "string"
++ },
++ "published": {
++ "type": [
++ "string",
++ "null"
++ ]
++ }
++ },
++ "additionalProperties": true
++ }
++ },
++ "receipt": {
++ "type": "object",
++ "required": [
++ "engine",
++ "cost_usd",
++ "time_ms"
++ ],
++ "properties": {
++ "engine": {
++ "type": "string"
++ },
++ "cost_usd": {
++ "type": "number",
++ "minimum": 0
++ },
++ "time_ms": {
++ "type": "number",
++ "minimum": 0
++ }
++ },
++ "additionalProperties": false
++ }
++ },
++ "additionalProperties": false,
++ "description": "Exchange API platform ExchangeSearchResult response. Private account data is available only to its owner."
++ }
++ },
++ "exchange.image-result": {
++ "version": "1.0.0",
++ "owner": "exchange",
++ "status": "active",
++ "schema": {
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/image-result.v1.json",
++ "title": "ExchangeImageResult",
++ "type": "object",
++ "required": [
++ "results",
++ "receipt"
++ ],
++ "properties": {
++ "results": {
++ "type": "array",
++ "items": {
++ "type": "object",
++ "required": [
++ "title",
++ "url",
++ "snippet",
++ "engine",
++ "published",
++ "license",
++ "author",
++ "source_page",
++ "attribution"
++ ],
++ "properties": {
++ "title": {
++ "type": "string"
++ },
++ "url": {
++ "type": "string",
++ "format": "uri"
++ },
++ "snippet": {
++ "type": "string"
++ },
++ "engine": {
++ "type": "string"
++ },
++ "published": {
++ "type": [
++ "string",
++ "null"
++ ]
++ },
++ "license": {
++ "type": [
++ "string",
++ "null"
++ ]
++ },
++ "author": {
++ "type": [
++ "string",
++ "null"
++ ]
++ },
++ "source_page": {
++ "type": [
++ "string",
++ "null"
++ ]
++ },
++ "attribution": {
++ "type": [
++ "string",
++ "null"
++ ]
++ },
++ "thumbnail": {
++ "type": [
++ "string",
++ "null"
++ ]
++ }
++ },
++ "additionalProperties": true
++ }
++ },
++ "receipt": {
++ "type": "object",
++ "required": [
++ "engine",
++ "cost_usd",
++ "time_ms"
++ ],
++ "properties": {
++ "engine": {
++ "type": "string"
++ },
++ "cost_usd": {
++ "type": "number",
++ "minimum": 0
++ },
++ "time_ms": {
++ "type": "number",
++ "minimum": 0
++ }
++ },
++ "additionalProperties": false
++ }
++ },
++ "additionalProperties": false,
++ "description": "Exchange API platform ExchangeImageResult response. Private account data is available only to its owner."
++ }
++ },
++ "exchange.key-created": {
++ "version": "1.0.0",
++ "owner": "exchange",
++ "status": "active",
++ "schema": {
++ "$schema": "https://json-schema.org/draft/2020-12/schema",
++ "$id": "https://openvibe.network/contracts/exchange/key-created.v1.json",
++ "title": "ExchangeKeyCreated",
++ "description": "An Exchange key and its one-time secret. Never cache or log this response.",
++ "type": "object",
++ "required": [
++ "key",
++ "secret"
++ ],
++ "properties": {
++ "key": {
++ "$ref": "key.v1.json"
++ },
++ "secret": {
++ "type": "string",
++ "pattern": "^ovx_[A-Za-z0-9_-]{43}$"
++ }
++ },
++ "additionalProperties": false
++ }
}
}
}
ddiff --git a/generated/openapi/actor.json b/generated/openapi/actor.json
iindex a4bc5f2a..2afb486d 100644
---- a/generated/openapi/actor.json
++++ b/generated/openapi/actor.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Actor API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Actor as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/ai.json b/generated/openapi/ai.json
iindex b5b89f64..e434097e 100644
---- a/generated/openapi/ai.json
++++ b/generated/openapi/ai.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.AI API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.AI as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/bench.json b/generated/openapi/bench.json
iindex cf544ab0..af6c8692 100644
---- a/generated/openapi/bench.json
++++ b/generated/openapi/bench.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Bench API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Bench as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/billing.json b/generated/openapi/billing.json
iindex 81e85c54..9d0c24d6 100644
---- a/generated/openapi/billing.json
++++ b/generated/openapi/billing.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Billing API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Billing as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/blog.json b/generated/openapi/blog.json
iindex e0b006c0..fbee8a6f 100644
---- a/generated/openapi/blog.json
++++ b/generated/openapi/blog.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Blog API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Blog as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/bot.json b/generated/openapi/bot.json
iindex f6992c2d..a31746f8 100644
---- a/generated/openapi/bot.json
++++ b/generated/openapi/bot.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Bot API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Bot as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/chat.json b/generated/openapi/chat.json
iindex 81124969..73152cfb 100644
---- a/generated/openapi/chat.json
++++ b/generated/openapi/chat.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Chat API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Chat as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/codes.json b/generated/openapi/codes.json
iindex bdee0751..adaf56a4 100644
---- a/generated/openapi/codes.json
++++ b/generated/openapi/codes.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Codes API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Codes as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/community.json b/generated/openapi/community.json
iindex 8704ea04..304493b5 100644
---- a/generated/openapi/community.json
++++ b/generated/openapi/community.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Community API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Community as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/connect.json b/generated/openapi/connect.json
iindex d4fcab53..170ddae0 100644
---- a/generated/openapi/connect.json
++++ b/generated/openapi/connect.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe Connect API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe Connect as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/coupons.json b/generated/openapi/coupons.json
iindex b5a2e9a6..ff92bf28 100644
---- a/generated/openapi/coupons.json
++++ b/generated/openapi/coupons.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Coupons API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Coupons as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/deals.json b/generated/openapi/deals.json
iindex b40e3ff5..1d72eb1e 100644
---- a/generated/openapi/deals.json
++++ b/generated/openapi/deals.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Deals API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Deals as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/design.json b/generated/openapi/design.json
iindex 20187d13..2e833027 100644
---- a/generated/openapi/design.json
++++ b/generated/openapi/design.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Design API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Design as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/domains.json b/generated/openapi/domains.json
iindex 039a31fc..d8b6f6ba 100644
---- a/generated/openapi/domains.json
++++ b/generated/openapi/domains.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Domains API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Domains as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/events.json b/generated/openapi/events.json
iindex 3b02556a..4bc76160 100644
---- a/generated/openapi/events.json
++++ b/generated/openapi/events.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Events API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Events as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/exchange.json b/generated/openapi/exchange.json
iindex 95513e0a..390bc8da 100644
---- a/generated/openapi/exchange.json
++++ b/generated/openapi/exchange.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Exchange API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Exchange as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/food.json b/generated/openapi/food.json
iindex 2f71daa8..4543b66a 100644
---- a/generated/openapi/food.json
++++ b/generated/openapi/food.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Food API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Food as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/games.json b/generated/openapi/games.json
iindex f20ddc40..80a61c9d 100644
---- a/generated/openapi/games.json
++++ b/generated/openapi/games.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Games API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Games as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/host.json b/generated/openapi/host.json
iindex 0aa30545..8db9ec58 100644
---- a/generated/openapi/host.json
++++ b/generated/openapi/host.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Host API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Host as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/inventory.json b/generated/openapi/inventory.json
iindex 3a751641..dd0a1f17 100644
---- a/generated/openapi/inventory.json
++++ b/generated/openapi/inventory.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Inventory API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Inventory as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/live.json b/generated/openapi/live.json
iindex 79602f32..dbbf0d67 100644
---- a/generated/openapi/live.json
++++ b/generated/openapi/live.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Live API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Live as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/mail.json b/generated/openapi/mail.json
iindex bbc6b470..3b3d5104 100644
---- a/generated/openapi/mail.json
++++ b/generated/openapi/mail.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Mail API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Mail as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/media-hub.json b/generated/openapi/media-hub.json
iindex adbeec96..5d8b96cc 100644
---- a/generated/openapi/media-hub.json
++++ b/generated/openapi/media-hub.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.MediaHub API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.MediaHub as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/media.json b/generated/openapi/media.json
iindex e675683d..cf44d066 100644
---- a/generated/openapi/media.json
++++ b/generated/openapi/media.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Media API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Media as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/network.json b/generated/openapi/network.json
iindex 335679de..c7b73b9e 100644
---- a/generated/openapi/network.json
++++ b/generated/openapi/network.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Network API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Network as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/news.json b/generated/openapi/news.json
iindex 1e68bad5..7a3948de 100644
---- a/generated/openapi/news.json
++++ b/generated/openapi/news.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.News API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.News as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/openre.json b/generated/openapi/openre.json
iindex f93d03a0..7d783574 100644
---- a/generated/openapi/openre.json
++++ b/generated/openapi/openre.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenRestream API",
-- "version": "0.370.0",
-- "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenRestream as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/play.json b/generated/openapi/play.json
iindex 8a02a433..c7b3f05b 100644
---- a/generated/openapi/play.json
++++ b/generated/openapi/play.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Play API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Play as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/quest.json b/generated/openapi/quest.json
iindex c95ed5db..aef67199 100644
---- a/generated/openapi/quest.json
++++ b/generated/openapi/quest.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Quest API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Quest as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/report.json b/generated/openapi/report.json
iindex 5c948b74..05b80218 100644
---- a/generated/openapi/report.json
++++ b/generated/openapi/report.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Report API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Report as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/reviews.json b/generated/openapi/reviews.json
iindex 98236e60..1dd03c3e 100644
---- a/generated/openapi/reviews.json
++++ b/generated/openapi/reviews.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Reviews API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Reviews as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/run.json b/generated/openapi/run.json
iindex 0aff3137..13db0564 100644
---- a/generated/openapi/run.json
++++ b/generated/openapi/run.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Run API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Run as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/search.json b/generated/openapi/search.json
iindex d064c276..3450f139 100644
---- a/generated/openapi/search.json
++++ b/generated/openapi/search.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Search API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Search as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/services.json b/generated/openapi/services.json
iindex cc6301fc..0153d398 100644
---- a/generated/openapi/services.json
++++ b/generated/openapi/services.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Services API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Services as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/sources.json b/generated/openapi/sources.json
iindex f37f9b5d..0018efb4 100644
---- a/generated/openapi/sources.json
++++ b/generated/openapi/sources.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Sources API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Sources as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/space.json b/generated/openapi/space.json
iindex 23133ed7..6597eb97 100644
---- a/generated/openapi/space.json
++++ b/generated/openapi/space.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Space API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Space as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/tips.json b/generated/openapi/tips.json
iindex ccdf4bd1..f2e60876 100644
---- a/generated/openapi/tips.json
++++ b/generated/openapi/tips.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Tips API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Tips as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/today.json b/generated/openapi/today.json
iindex 4d8bfe70..4ec147dc 100644
---- a/generated/openapi/today.json
++++ b/generated/openapi/today.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Today API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Today as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/tools.json b/generated/openapi/tools.json
iindex ce574f28..d94ccead 100644
---- a/generated/openapi/tools.json
++++ b/generated/openapi/tools.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Tools API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Tools as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/trade.json b/generated/openapi/trade.json
iindex f4c18a77..508ac72a 100644
---- a/generated/openapi/trade.json
++++ b/generated/openapi/trade.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Trade API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Trade as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/vip.json b/generated/openapi/vip.json
iindex 8d57ec77..9c375671 100644
---- a/generated/openapi/vip.json
++++ b/generated/openapi/vip.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.VIP API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.VIP as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/vision.json b/generated/openapi/vision.json
iindex 30c5b8e1..2a88ea15 100644
---- a/generated/openapi/vision.json
++++ b/generated/openapi/vision.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Vision API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Vision as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/watch.json b/generated/openapi/watch.json
iindex 1f2d4d02..994a832e 100644
---- a/generated/openapi/watch.json
++++ b/generated/openapi/watch.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Watch API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Watch as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/wiki.json b/generated/openapi/wiki.json
iindex 0412bbb3..9c8f7143 100644
---- a/generated/openapi/wiki.json
++++ b/generated/openapi/wiki.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Wiki API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Wiki as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/work.json b/generated/openapi/work.json
iindex 6ea6a127..ef7b0d3c 100644
---- a/generated/openapi/work.json
++++ b/generated/openapi/work.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Work API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Work as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/openapi/zone.json b/generated/openapi/zone.json
iindex de5e4759..7e896219 100644
---- a/generated/openapi/zone.json
++++ b/generated/openapi/zone.json
@@@ -3,8 +3,8 @@
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"info": {
"title": "OpenVibe.Zone API",
-- "version": "0.370.0",
-- "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.370.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.371.0",
++ "description": "Routes of OpenVibe.Zone as the OpenVibe contracts describe them (openvibe-contracts 0.371.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"
ddiff --git a/generated/typescript/index.d.ts b/generated/typescript/index.d.ts
iindex e174b661..7b3c066c 100644
---- a/generated/typescript/index.d.ts
++++ b/generated/typescript/index.d.ts
@@@ -323325,3 +323325,97 @@ export interface DesignComponent {
}
];
}
++
++/** [email protected] (owner: exchange) */
++/**
++ * Exchange API platform ExchangeKey response. Private account data is available only to its owner.
++ */
++export interface ExchangeKey {
++ id: string;
++ name: string;
++ prefix: string;
++ monthly_cap_usd: number;
++ allowed_models: string[];
++ created_at: string;
++ revoked_at: string | null;
++}
++
++/** [email protected] (owner: exchange) */
++/**
++ * Exchange API platform ExchangeUsage response. Private account data is available only to its owner.
++ */
++export interface ExchangeUsage {
++ rows: {
++ day: string;
++ key_id: string;
++ model: string;
++ status: string;
++ requests: number | string;
++ tokens_in: number | string;
++ tokens_out: number | string;
++ cost_usd: number;
++ }[];
++}
++
++/** [email protected] (owner: exchange) */
++/**
++ * Exchange API platform ExchangeDeployments response. Private account data is available only to its owner.
++ */
++export interface ExchangeDeployments {
++ endpoints: {}[];
++ status: {};
++}
++
++/** [email protected] (owner: exchange) */
++/**
++ * Exchange API platform ExchangeSearchResult response. Private account data is available only to its owner.
++ */
++export interface ExchangeSearchResult {
++ results: {
++ title: string;
++ url: string;
++ snippet: string;
++ engine: string;
++ published: string | null;
++ [k: string]: unknown | undefined;
++ }[];
++ receipt: {
++ engine: string;
++ cost_usd: number;
++ time_ms: number;
++ };
++}
++
++/** [email protected] (owner: exchange) */
++/**
++ * Exchange API platform ExchangeImageResult response. Private account data is available only to its owner.
++ */
++export interface ExchangeImageResult {
++ results: {
++ title: string;
++ url: string;
++ snippet: string;
++ engine: string;
++ published: string | null;
++ license: string | null;
++ author: string | null;
++ source_page: string | null;
++ attribution: string | null;
++ thumbnail?: string | null;
++ [k: string]: unknown | undefined;
++ }[];
++ receipt: {
++ engine: string;
++ cost_usd: number;
++ time_ms: number;
++ };
++}
++
++/** [email protected] (owner: exchange) */
++/**
++ * An Exchange key and its one-time secret. Never cache or log this response.
++ */
++export interface ExchangeKeyCreated {
++ key: ExchangeKey;
++ secret: string;
++}
ddiff --git a/manifests/services/exchange.json b/manifests/services/exchange.json
iindex 976181f1..17b6af67 100644
---- a/manifests/services/exchange.json
++++ b/manifests/services/exchange.json
@@@ -79,10 +79,42 @@
"site": {
"name": "Exchange",
"icon": "exchange",
-- "tagline": "Every AI model, one account",
-- "what": "Every AI model, one account: live prices, speed and uptime of every offer, chat with up to three models side by side, Arena rankings, companions, a private GPU endpoint and one OpenAI- and Anthropic-compatible endpoint. The public pages of OpenVibe.AI live here now.",
++ "tagline": "One API for every model",
++ "what": "Models, keys, usage, search and deployments. Try models in Chat; compare and vote on Report.",
"legalProfile": "ugc",
"position": 45,
"neighbourhood": "shop"
-- }
++ },
++ "routes": [
++ {
++ "method": "POST",
++ "path": "/api/v1/exchange/keys",
++ "contract": "exchange.key-created@1",
++ "cacheSeconds": 0
++ },
++ {
++ "method": "GET",
++ "path": "/api/v1/exchange/key-usage",
++ "contract": "exchange.usage@1",
++ "cacheSeconds": 0
++ },
++ {
++ "method": "GET",
++ "path": "/api/v1/exchange/deployments",
++ "contract": "exchange.deployments@1",
++ "cacheSeconds": 0
++ },
++ {
++ "method": "POST",
++ "path": "/v1/search",
++ "contract": "exchange.search-result@1",
++ "cacheSeconds": 0
++ },
++ {
++ "method": "POST",
++ "path": "/v1/search/images",
++ "contract": "exchange.image-result@1",
++ "cacheSeconds": 0
++ }
++ ]
}
ddiff --git a/package-lock.json b/package-lock.json
iindex 06dd6e28..1e841cf7 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -1,12 +1,12 @@
{
"name": "openvibe-contracts",
-- "version": "0.370.0",
++ "version": "0.371.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "openvibe-contracts",
-- "version": "0.370.0",
++ "version": "0.371.0",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^8.17.1",
ddiff --git a/package.json b/package.json
iindex d0d2b8bc..8f5b7eba 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-contracts",
-- "version": "0.370.0",
++ "version": "0.371.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",