CodesReleaseManageResult codes.release-manage-result@1

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

Version
1.0.0
Owner
codes
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/codes/release-manage-result.v1.json

codes.release-manage-result@1: answers of codes.release.manage on OpenVibe.Codes (an app token managing its own releases). POST /api/v1/apps/:app/releases → 201 { release, warnings } (a draft, or published at once with publish: true; manifest validation warnings); POST /api/v1/releases/:id/publish | deprecate | revoke → { release, event_id } (the codes.release.* event announcing it; null when a revoke announced nothing). Refusals are problem+json: 401 auth.required, 403 release.forbidden (another app's release), 409 release.not_draft, 422 with validation errors.

Fields

FieldTypeRequiredDescriptionConstraints
releasecodes.releaseyes
warningsarray of any
event_idstring | null

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: published
{
  "release": {
    "id": "rel_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "app_id": "app_01JAB2C3D4E5F6G7H8J9K0MNPR",
    "project_id": "prj_01JAB2C3D4E5F6G7H8J9K0MNPS",
    "environment": "production",
    "kind": "app",
    "subject_id": null,
    "name": "Stream Deck Bridge",
    "version": "1.4.0",
    "status": "published",
    "manifest_id": "man_01JAB2C3D4E5F6G7H8J9K0MNPT",
    "compatibility": {
      "openvibe-contracts": ">=0.40.0"
    },
    "notes": "Scene switching over the chat socket.",
    "created_at": "2026-09-24T10:00:00.000Z",
    "created_by": "app:app_01JAB2C3D4E5F6G7H8J9K0MNPR",
    "published_at": "2026-09-24T10:05:00.000Z",
    "deprecated_at": null,
    "deprecation_reason": null,
    "replacement": null,
    "revoked_at": null,
    "revocation_reason": null,
    "trust": {
      "tier": "unreviewed",
      "note": "",
      "set_by": null,
      "set_at": null
    }
  },
  "event_id": "evt_01JAB2C3D4E5F6G7H8J9K0MNPV"
}
Rejected: no-release
{
  "warnings": []
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('codes.release-manage-result@1', value);   // { valid, errors: [{ path, message }] }