JSON Payload Examples
This page details the exact data structures transmitted across the BSP network and permanently stored on Arweave. Understanding these payloads is critical for debugging and for developers writing zero-dependency integrations without the official SDKs.
1. The BEO (Biological Entity Object)
The state of a BEO as resolved by the BEORegistry smart contract.
json
{
"beo_id": "bsp:beo:v1:9f8d...",
"domain": "andre.bsp",
"public_key": "ed25519_pub_...a1b2",
"created_at": "2026-01-10T14:32:00Z",
"record_count": 47,
"recovery": {
"status": "ACTIVE",
"threshold": 2,
"guardians": [
"ed25519_pub_...xyz",
"ed25519_pub_...abc",
"ed25519_pub_...123"
]
},
"status": "ACTIVE"
}2. A Standardized BioRecord
How a single medical result is structured before being encrypted and stored.
json
{
"record_id": "rec_001_abc123",
"beo_id": "bsp:beo:v1:9f8d...",
"biomarker": "BSP-LA-004",
"value": 4.8,
"unit": "%",
"method": "HPLC",
"collected_at": "2026-02-25T08:15:00Z",
"source": {
"ieo_id": "bsp:ieo:fleury:v1:...",
"domain": "fleury.bsp",
"signature": "ed25519_sig_...4455"
},
"context": {
"fasting_hours": 12,
"medication_active": []
},
"status": "ACTIVE"
}3. A Wearable BioRecord
How continuous device data is summarized (e.g., HRV from an Oura Ring).
json
{
"record_id": "rec_wrb_xyz789",
"beo_id": "bsp:beo:v1:9f8d...",
"biomarker": "BSP-DV-002",
"value": 64.2,
"unit": "ms",
"method": "PPG_RMSSD",
"collected_at": "2026-02-26T00:00:00Z",
"source": {
"ieo_id": "bsp:ieo:oura:v1:...",
"domain": "oura.bsp",
"signature": "ed25519_sig_...9988"
},
"context": {
"aggregation_type": "DAILY_AVERAGE",
"device_model": "Oura Gen3"
},
"status": "ACTIVE"
}4. The ConsentToken
The on-chain authorization object generated by the AccessControl contract.
json
{
"token_id": "tok_556677...",
"beo_id": "bsp:beo:v1:9f8d...",
"ieo_id": "bsp:ieo:dr-carlos:v1...",
"granted_at": "2026-02-26T10:00:00Z",
"expires_at": "2026-03-28T10:00:00Z",
"revoked_at": null,
"scope": {
"intents": ["READ_RECORDS"],
"categories": ["BSP-LA", "BSP-CV"],
"levels": ["CORE", "STANDARD"],
"period": {
"from": "2024-01-01T00:00:00Z",
"to": null
},
"max_records": 500
},
"revocable": true,
"owner_signature": "ed25519_sig_...1122",
"token_hash": "sha256_...aabb"
}5. Exchange Protocol Network Request
The HTTP JSON payload passed over the wire during a SUBMIT_RECORD call. Notice the double-authentication: the consent_token proves the user allowed it, and the ieo_signature proves the IEO actually sent it.
json
{
"request_api_version": "0.2",
"intent": "SUBMIT_RECORD",
"target_beo": "andre.bsp",
"auth": {
"consent_token": "tok_556677...",
"ieo_domain": "fleury.bsp",
"ieo_signature": "ed25519_sig_...ddeeff"
},
"payload": {
"encrypted_records": [
"BASE64_ENCRYPTED_BLOB_1",
"BASE64_ENCRYPTED_BLOB_2"
]
}
}
