LinkAccessGrant link.access-grant@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- network
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/link/access-grant.v1.json
Approved machine access; null expiration is for same-owner agent or send only.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
id | string | yes |
| |
request_id | string |
| ||
from_principal | string | yes |
| |
to_principal | string | yes |
| |
scopes | array of enum | yes |
| |
approved_by | string | yes |
| |
created_at | string | yes |
| |
expires_at | one of | yes | ||
revoked_at | one of | yes |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: example
{
"id": "grt_12345678",
"request_id": "req_12345678",
"from_principal": "lnk_AAAAAAAAAAAAAAAAAAAAAAAAAA",
"to_principal": "lnk_BBBBBBBBBBBBBBBBBBBBBBBBBB",
"scopes": [
"agent"
],
"approved_by": "usr_BBBBBBBBBBBBBBBBBBBBBBBBBB",
"created_at": "2026-11-11T00:00:00Z",
"expires_at": "2026-11-11T01:00:00Z",
"revoked_at": null
}Rejected: example
{}Validate
const contracts = require('openvibe-contracts');
contracts.validate('link.access-grant@1', value); // { valid, errors: [{ path, message }] }