OpenVibe.Network API
Generated at from
openvibe-contracts v0.114.0 and
openvibe-sdk v0.35.1.
Server https://openvibe.network. 39 routes performing 27 capabilities. OpenAPI 3.1 document.
GET /api/v1/creators/{creator}/analytics
Read a creator's full streaming analytics (average viewers, chatters, messages, watch minutes, as counts) for the creator's own dashboards in a first-party product (Live's /api/analytics).
- Capabilities
- network.analytics.creator.read
- Visibility
- first-party
- Parameters
creator(path, required)
- Response
application/jsonnetwork.creator-analytics-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.analytics.creator.read</strong> (first-party): Read a creator's full streaming analytics (average viewers, chatters, messages, watch minutes, as counts) for the creator's own dashboards in a first-party product (Live's /api/analytics). Streams, minutes and peak viewers are public without it. Never grantable to apps.</p>GET /api/v1/follows/{type}/{target}/followers
Read who follows a target (subjects only), as an owning service: go-live and other notifications, and product projections that rebuild from Network (ADR-030).
- Capabilities
- network.follows.read
- Visibility
- first-party
- Parameters
type(path, required)target(path, required)
- Response
application/jsonnetwork.follow-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.follows.read</strong> (first-party): Read who follows a target (subjects only), as an owning service: go-live and other notifications, and product projections that rebuild from Network (ADR-030). Counts are public without it. Never grantable to apps.</p>PUT /api/v1/node/self/capabilities
A paired machine presents its own capabilities and rotates its own credential, never another machine's.
- Capabilities
- network.node.self.manage
- Visibility
- internal
- Response
- —
- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.node.self.manage</strong> (internal): A paired machine presents its own capabilities and rotates its own credential, never another machine's.</p>POST /api/v1/node/self/credential
A paired machine presents its own capabilities and rotates its own credential, never another machine's.
- Capabilities
- network.node.self.manage
- Visibility
- internal
- Response
- —
- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.node.self.manage</strong> (internal): A paired machine presents its own capabilities and rotates its own credential, never another machine's.</p>GET /api/v1/resources
Read OpenVibe.Network's resource index (ADR-048): GET /api/v1/resources lists the resources Network owns as a page of common.resource-summary@1 (common.resource-list-result@1), and GET /api/v1/resourc
- Capabilities
- network.resource.read
- Visibility
- first-party
- Response
application/jsoncommon.resource-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.resource.read</strong> (first-party): Read OpenVibe.Network's resource index (ADR-048): GET /api/v1/resources lists the resources Network owns as a page of common.resource-summary@1 (common.resource-list-result@1), and GET /api/v1/resources/:ovrn reads one by its OVRN (common.resource-summary@1). Every authority serves these for OpenVibe.Services to fan out and merge; Network's own resources today are its projects, apps, keys and nodes. Planned until Network ships the index; the T2 Fabric offer registry's public routes, today sharing /api/v1/resources, move to /api/v1/offers in the same release.</p>GET /api/v1/resources/{ovrn}
Read OpenVibe.Network's resource index (ADR-048): GET /api/v1/resources lists the resources Network owns as a page of common.resource-summary@1 (common.resource-list-result@1), and GET /api/v1/resourc
- Capabilities
- network.resource.read
- Visibility
- first-party
- Parameters
ovrn(path, required)
- Response
application/jsoncommon.resource-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.resource.read</strong> (first-party): Read OpenVibe.Network's resource index (ADR-048): GET /api/v1/resources lists the resources Network owns as a page of common.resource-summary@1 (common.resource-list-result@1), and GET /api/v1/resources/:ovrn reads one by its OVRN (common.resource-summary@1). Every authority serves these for OpenVibe.Services to fan out and merge; Network's own resources today are its projects, apps, keys and nodes. Planned until Network ships the index; the T2 Fabric offer registry's public routes, today sharing /api/v1/resources, move to /api/v1/offers in the same release.</p>GET /api/v1/staff/moderators
List the network's staff (global moderators, admins and the owner) with their roles and staff capabilities from the staff map, as an owning service: to show who moderates, or to route a report.
- Capabilities
- network.staff.read
- Visibility
- first-party
- Response
application/jsonnetwork.staff-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.staff.read</strong> (first-party): List the network's staff (global moderators, admins and the owner) with their roles and staff capabilities from the staff map, as an owning service: to show who moderates, or to route a report. Never grantable to apps.</p>POST /api/v1/status/incidents
Open and update incidents and maintenance windows on the public status page (openvibe.network/status): the operator's tooling (ovhost incident / maintenance, as the Host principal) and staff admins.
- Capabilities
- network.status.incident
- Visibility
- internal
- Request body
application/jsonnetwork.status-incident-request@1- Response
application/jsonnetwork.status-incident@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.status.incident</strong> (internal): Open and update incidents and maintenance windows on the public status page (openvibe.network/status): the operator's tooling (ovhost incident / maintenance, as the Host principal) and staff admins. Never grantable to apps.</p>POST /api/v1/status/incidents/{id}/updates
Open and update incidents and maintenance windows on the public status page (openvibe.network/status): the operator's tooling (ovhost incident / maintenance, as the Host principal) and staff admins.
- Capabilities
- network.status.incident
- Visibility
- internal
- Parameters
id(path, required)
- Request body
application/jsonnetwork.status-incident-request@1- Response
application/jsonnetwork.status-incident@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.status.incident</strong> (internal): Open and update incidents and maintenance windows on the public status page (openvibe.network/status): the operator's tooling (ovhost incident / maintenance, as the Host principal) and staff admins. Never grantable to apps.</p>POST /internal/account-deletions/{deletion_id}/confirmations
Confirm that a deleted account's rows are erased at a service (ADR-033), with counts of what was erased and what is kept (pseudonymised money rows, held media, tombstones).
- Capabilities
- network.account.deletion.confirm
- Visibility
- internal
- Parameters
deletion_id(path, required)
- Request body
application/jsonnetwork.account-deletion-confirmation@1- Response
application/jsonnetwork.account-data-receipt@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.account.deletion.confirm</strong> (internal): Confirm that a deleted account's rows are erased at a service (ADR-033), with counts of what was erased and what is kept (pseudonymised money rows, held media, tombstones). A token may only speak for its own service.</p>POST /internal/account-exports/{export_id}/parts
Push a service's part of a person's data export (ADR-033): the subject's own rows as JSON files, before the export's deadline.
- Capabilities
- network.account.export.contribute
- Visibility
- internal
- Parameters
export_id(path, required)
- Request body
application/jsonnetwork.account-export-part@1- Response
application/jsonnetwork.account-data-receipt@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.account.export.contribute</strong> (internal): Push a service's part of a person's data export (ADR-033): the subject's own rows as JSON files, before the export's deadline. A token may only speak for its own service; a second part replaces the first.</p>GET /internal/blocks?subject=usr_…
Read who a person has blocked and who has blocked them (subjects only), as an owning service honouring platform blocks: Chat for DMs and mentions, Community for replies, notification senders.
- Capabilities
- network.blocks.read
- Visibility
- first-party
- Response
application/jsonnetwork.blocks-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.blocks.read</strong> (first-party): Read who a person has blocked and who has blocked them (subjects only), as an owning service honouring platform blocks: Chat for DMs and mentions, Community for replies, notification senders. Never grantable to apps.</p>POST /internal/coins/credit
Credit OpenCoins (loyalty, never money) to a Network user.
- Capabilities
- network.coins.credit
- Visibility
- internal
- Request body
application/jsonnetwork.coins-change-request@1- Response
application/jsonnetwork.coins-balance-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.coins.credit</strong> (internal): Credit OpenCoins (loyalty, never money) to a Network user. Idempotent by idempotency_key. A token may only act for its own app_id.</p>POST /internal/coins/debit
Debit OpenCoins; 409 insufficient_funds.
- Capabilities
- network.coins.debit
- Visibility
- internal
- Request body
application/jsonnetwork.coins-change-request@1- Response
application/jsonnetwork.coins-balance-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.coins.debit</strong> (internal): Debit OpenCoins; 409 insufficient_funds. A token may only act for its own app_id.</p>GET /internal/coins/stats
Read OpenCoins totals (supply, holders, daily flow) for a site's own dashboards; never balances of named people.
- Capabilities
- network.coins.read
- Visibility
- internal
- Response
application/jsonnetwork.coins-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.coins.read</strong> (internal): Read OpenCoins totals (supply, holders, daily flow) for a site's own dashboards; never balances of named people.</p>POST /internal/coins/transfer
Atomically move OpenCoins between two Network users.
- Capabilities
- network.coins.transfer
- Visibility
- internal
- Request body
application/jsonnetwork.coins-transfer-request@1- Response
application/jsonnetwork.coins-transfer-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.coins.transfer</strong> (internal): Atomically move OpenCoins between two Network users. A token may only act for its own app_id.</p>PUT /internal/follows/{type}/{target}
Follow or unfollow on a person's behalf, as the first-party product where they pressed the button (Live's follow buttons, ADR-030 step 4).
- Capabilities
- network.follows.write
- Visibility
- first-party
- Parameters
type(path, required)target(path, required)
- Request body
application/jsonnetwork.follow-write-request@1- Response
application/jsonnetwork.follow-status-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.follows.write</strong> (first-party): Follow or unfollow on a person's behalf, as the first-party product where they pressed the button (Live's follow buttons, ADR-030 step 4). The follower is named in the request; Network keeps the graph and emits the events. Never grantable to apps.</p>DELETE /internal/follows/{type}/{target}
Follow or unfollow on a person's behalf, as the first-party product where they pressed the button (Live's follow buttons, ADR-030 step 4).
- Capabilities
- network.follows.write
- Visibility
- first-party
- Parameters
type(path, required)target(path, required)follower(query, required)notify_email(query)notify_push(query)
- Input
- network.follow-write-request@1
- Response
application/jsonnetwork.follow-status-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.follows.write</strong> (first-party): Follow or unfollow on a person's behalf, as the first-party product where they pressed the button (Live's follow buttons, ADR-030 step 4). The follower is named in the request; Network keeps the graph and emits the events. Never grantable to apps.</p>GET /internal/identity/resolve
Resolve a subject (or a legacy service-local id) to its canonical SubjectRef and display projection.
- Capabilities
- identity.subject.resolve
- Visibility
- first-party
- Input
- identity.resolve-request@1
- Response
application/jsonidentity.resolve-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>identity.subject.resolve</strong> (first-party): Resolve a subject (or a legacy service-local id) to its canonical SubjectRef and display projection.</p>POST /internal/identity/resolve-batch
Resolve a subject (or a legacy service-local id) to its canonical SubjectRef and display projection.
- Capabilities
- identity.subject.resolve
- Visibility
- first-party
- Request body
application/jsonidentity.resolve-request@1- Response
application/jsonidentity.resolve-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>identity.subject.resolve</strong> (first-party): Resolve a subject (or a legacy service-local id) to its canonical SubjectRef and display projection.</p>GET /internal/integrations/github-token
Read the network's GitHub API token (read-only, public repositories), which the owner sets in Network's admin panel or in GITHUB_TOKEN.
- Capabilities
- network.integration.github.read
- Visibility
- first-party
- Response
application/jsonnetwork.github-token-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.integration.github.read</strong> (first-party): Read the network's GitHub API token (read-only, public repositories), which the owner sets in Network's admin panel or in GITHUB_TOKEN. Used by OpenVibe.Blog's network changelog so its GitHub calls do not share the host's anonymous rate limit. Never granted to apps or mods.</p>GET /internal/mods
Register a mod install's principal (mod:<mod_id>, ADR-013) and approve or revoke the subset of its manifest's requested capabilities, so a mod's grants live in Network like any other principal's.
- Capabilities
- mods.grant.manage
- Visibility
- first-party
- Parameters
manifest(query, required) — The mod's manifest, mods.mod-manifest@1.approve(query) — Approved at install; each must be requested by the manifest.actor(query) — Who installed it at the runtime (a subject or 'games'), for the audit row.
- Input
- network.mod-install-request@1
- Response
application/jsonnetwork.mod-principal@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>mods.grant.manage</strong> (first-party): Register a mod install's principal (mod:<mod_id>, ADR-013) and approve or revoke the subset of its manifest's requested capabilities, so a mod's grants live in Network like any other principal's. Only the runtime that registered a mod (its owner) changes it; Network staff (staff.games.manage) can too. Every change is network.mod.grants_changed.</p>POST /internal/mods
Register a mod install's principal (mod:<mod_id>, ADR-013) and approve or revoke the subset of its manifest's requested capabilities, so a mod's grants live in Network like any other principal's.
- Capabilities
- mods.grant.manage
- Visibility
- first-party
- Request body
application/jsonnetwork.mod-install-request@1- Response
application/jsonnetwork.mod-principal@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>mods.grant.manage</strong> (first-party): Register a mod install's principal (mod:<mod_id>, ADR-013) and approve or revoke the subset of its manifest's requested capabilities, so a mod's grants live in Network like any other principal's. Only the runtime that registered a mod (its owner) changes it; Network staff (staff.games.manage) can too. Every change is network.mod.grants_changed.</p>GET /internal/mods/{mod_id}
Register a mod install's principal (mod:<mod_id>, ADR-013) and approve or revoke the subset of its manifest's requested capabilities, so a mod's grants live in Network like any other principal's.
- Capabilities
- mods.grant.manage
- Visibility
- first-party
- Parameters
mod_id(path, required)manifest(query, required) — The mod's manifest, mods.mod-manifest@1.approve(query) — Approved at install; each must be requested by the manifest.actor(query) — Who installed it at the runtime (a subject or 'games'), for the audit row.
- Input
- network.mod-install-request@1
- Response
application/jsonnetwork.mod-principal@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>mods.grant.manage</strong> (first-party): Register a mod install's principal (mod:<mod_id>, ADR-013) and approve or revoke the subset of its manifest's requested capabilities, so a mod's grants live in Network like any other principal's. Only the runtime that registered a mod (its owner) changes it; Network staff (staff.games.manage) can too. Every change is network.mod.grants_changed.</p>POST /internal/mods/{mod_id}/grants
Register a mod install's principal (mod:<mod_id>, ADR-013) and approve or revoke the subset of its manifest's requested capabilities, so a mod's grants live in Network like any other principal's.
- Capabilities
- mods.grant.manage
- Visibility
- first-party
- Parameters
mod_id(path, required)
- Request body
application/jsonnetwork.mod-install-request@1- Response
application/jsonnetwork.mod-principal@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>mods.grant.manage</strong> (first-party): Register a mod install's principal (mod:<mod_id>, ADR-013) and approve or revoke the subset of its manifest's requested capabilities, so a mod's grants live in Network like any other principal's. Only the runtime that registered a mod (its owner) changes it; Network staff (staff.games.manage) can too. Every change is network.mod.grants_changed.</p>POST /internal/mods/{mod_id}/revoke
Register a mod install's principal (mod:<mod_id>, ADR-013) and approve or revoke the subset of its manifest's requested capabilities, so a mod's grants live in Network like any other principal's.
- Capabilities
- mods.grant.manage
- Visibility
- first-party
- Parameters
mod_id(path, required)
- Request body
application/jsonnetwork.mod-install-request@1- Response
application/jsonnetwork.mod-principal@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>mods.grant.manage</strong> (first-party): Register a mod install's principal (mod:<mod_id>, ADR-013) and approve or revoke the subset of its manifest's requested capabilities, so a mod's grants live in Network like any other principal's. Only the runtime that registered a mod (its owner) changes it; Network staff (staff.games.manage) can too. Every change is network.mod.grants_changed.</p>GET /internal/modules/{namespace}/{subject}
Read a subject's user-module record in a granted namespace.
- Capabilities
- network.modules.read
- Visibility
- first-party
- Parameters
namespace(path, required)subject(path, required)
- Response
application/jsonmodules.module-record@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.modules.read</strong> (first-party): Read a subject's user-module record in a granted namespace.</p>PUT /internal/modules/{namespace}/{subject}
Write a subject's record in a namespace the service owns (If-Match revision).
- Capabilities
- network.modules.write
- Visibility
- first-party
- Parameters
namespace(path, required)subject(path, required)
- Request body
application/jsonnetwork.module-write-request@1- Response
application/jsonmodules.module-record@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.modules.write</strong> (first-party): Write a subject's record in a namespace the service owns (If-Match revision).</p>POST /internal/node-pairings
A service mints one-time pairing codes for its users' machines and reads or revokes the node principals it paired.
- Capabilities
- network.node.manage
- Visibility
- internal
- Response
- —
- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.node.manage</strong> (internal): A service mints one-time pairing codes for its users' machines and reads or revokes the node principals it paired. Never grantable to apps.</p>GET /internal/node-principals/{id}
A service mints one-time pairing codes for its users' machines and reads or revokes the node principals it paired.
- Capabilities
- network.node.manage
- Visibility
- internal
- Parameters
id(path, required)
- Response
- —
- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.node.manage</strong> (internal): A service mints one-time pairing codes for its users' machines and reads or revokes the node principals it paired. Never grantable to apps.</p>POST /internal/node-principals/{id}/revoke
A service mints one-time pairing codes for its users' machines and reads or revokes the node principals it paired.
- Capabilities
- network.node.manage
- Visibility
- internal
- Parameters
id(path, required)
- Response
- —
- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.node.manage</strong> (internal): A service mints one-time pairing codes for its users' machines and reads or revokes the node principals it paired. Never grantable to apps.</p>POST /internal/nodes/report
Report the machines of the platform (roles, region-level location, beacon, health) to the node registry, which the geo API and every location-aware product read (ADR-034 section 12).
- Capabilities
- network.node.report
- Visibility
- internal
- Request body
application/jsonnetwork.node-report-request@1- Response
application/jsonnetwork.node-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.node.report</strong> (internal): Report the machines of the platform (roles, region-level location, beacon, health) to the node registry, which the geo API and every location-aware product read (ADR-034 section 12).</p>POST /internal/notifications/*
Create a notification for Network users (ids already translated).
- Capabilities
- network.notifications.push
- Visibility
- internal
- Request body
application/jsonnetwork.notification-push-request@1- Response
application/jsonnetwork.notification-push-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.notifications.push</strong> (internal): Create a notification for Network users (ids already translated).</p>POST /internal/operator/alerts
Report the complete set of alerts firing on the production host, so Network pages the operator (the owner account) when an alert opens, once a day while it stays open, and when it resolves.
- Capabilities
- network.operator.alert
- Visibility
- internal
- Request body
application/jsonnetwork.operator-alerts-request@1- Response
application/jsonnetwork.operator-alerts-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.operator.alert</strong> (internal): Report the complete set of alerts firing on the production host, so Network pages the operator (the owner account) when an alert opens, once a day while it stays open, and when it resolves.</p>GET /internal/projects/{project_id}
Read a developer project as an owning service: its apps and their revocation state, approved grants, environment policy and quotas.
- Capabilities
- network.project.read
- Visibility
- first-party
- Parameters
project_id(path, required)
- Response
application/jsonnetwork.project-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.project.read</strong> (first-party): Read a developer project as an owning service: its apps and their revocation state, approved grants, environment policy and quotas. Services use it to key tenancy by project_id and to enforce the quotas Network records (ADR-014). Never grantable to apps.</p>POST /internal/registry/instances/report
Report the machines of the platform (roles, region-level location, beacon, health) to the node registry, which the geo API and every location-aware product read (ADR-034 section 12).
- Capabilities
- network.node.report
- Visibility
- internal
- Request body
application/jsonnetwork.node-report-request@1- Response
application/jsonnetwork.node-list-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.node.report</strong> (internal): Report the machines of the platform (roles, region-level location, beacon, health) to the node registry, which the geo API and every location-aware product read (ADR-034 section 12).</p>POST /internal/resources/report
Report the complete set of a source's resource offers (platform.resource-offer@1) to the registry; offers absent from a later report of the same source are marked down.
- Capabilities
- network.resource.report
- Visibility
- internal
- Response
- —
- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.resource.report</strong> (internal): Report the complete set of a source's resource offers (platform.resource-offer@1) to the registry; offers absent from a later report of the same source are marked down.</p>GET /internal/url-registry/resolved
Read the resolved URL registry (every site's public and internal base URLs) that the shared navbar and service clients use.
- Capabilities
- network.registry.read
- Visibility
- internal
- Response
application/jsonnetwork.registry-read-result@1- Errors
- errors.problem@1 (application/problem+json)
Description
<p><strong>network.registry.read</strong> (internal): Read the resolved URL registry (every site's public and internal base URLs) that the shared navbar and service clients use.</p>POST /internal/user-avatar
A site reports that a person changed their avatar on it (Live's avatar picker); Network adopts it as the account's avatar and fans it out to the other sites.
- Capabilities
- network.avatar.write
- Visibility
- internal
- Request body
application/jsonnetwork.avatar-write-request@1- Response
application/jsonnetwork.avatar-write-result@1- Errors
- errors.problem@1 (application/problem+json)