3.2 KiB
3.2 KiB
Member App Channel API Examples
Register Device Channel
Request
POST /member/channel/device/register
Authorization: Bearer <wallet-session>
Content-Type: application/json
{
"wallet": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"chain_id": 8453,
"device_id": "desktop-7f6f3a9b",
"platform": "desktop",
"org_root_id": "org.acme.root",
"principal_id": "human.joshua",
"principal_role": "org_root_owner",
"app_version": "0.1.0",
"push_provider": "none"
}
Response
{
"channel_binding_id": "ch_01J9A4MQQ6V7H1S0A7R7ME7D4J",
"status": "active",
"poll_interval_seconds": 30,
"server_time": "2026-02-17T20:43:18Z"
}
Poll Events
Request
GET /member/channel/events?wallet=0x742d35Cc6634C0532925a3b844Bc454e4438f44e&device_id=desktop-7f6f3a9b&cursor=evt_1030&limit=25
Authorization: Bearer <wallet-session>
Response
{
"wallet": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"device_id": "desktop-7f6f3a9b",
"org_root_id": "org.acme.root",
"principal_id": "human.joshua",
"membership_status": "active",
"identity_assurance_level": "onramp_attested",
"events": [
{
"event_id": "evt_1031",
"class": "platform_update",
"created_at": "2026-02-17T20:42:11Z",
"title": "Platform update available",
"body": "A deterministic runtime update is ready for your current platform channel.",
"dedupe_key": "platform_update:0.1.1",
"requires_ack": true,
"policy_hash": "sha256:8b903f0d3a...",
"visibility_scope": "member",
"payload": {
"version": "0.1.1",
"channel": "stable"
}
}
],
"next_cursor": "evt_1031",
"server_time": "2026-02-17T20:43:20Z"
}
Acknowledge Event
Request
POST /member/channel/events/evt_1031/ack
Authorization: Bearer <wallet-session>
Content-Type: application/json
{
"wallet": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"device_id": "desktop-7f6f3a9b",
"acknowledged_at": "2026-02-17T20:43:25Z"
}
Response
{
"status": "acknowledged",
"event_id": "evt_1031",
"acknowledged_at": "2026-02-17T20:43:25Z"
}
Membership Inactive Error
{
"error": "membership_inactive",
"code": "membership_inactive",
"correlation_id": "req_01J9A4Q9GPDXDNZEWJ2FJS6F5R"
}
Owner Support Ticket
Request
POST /member/channel/support/ticket
Authorization: Bearer <wallet-session>
Content-Type: application/json
{
"wallet": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"org_root_id": "org.acme.root",
"principal_id": "human.joshua",
"category": "health_diagnostic",
"summary": "Availability state has remained in continuity for 26 hours."
}
Response
{
"status": "accepted",
"ticket_id": "st_01J9A6X5VPE31MBBN9Y2BRS5A0",
"created_at": "2026-02-17T20:45:00Z"
}
Member Admin Attempt Error
{
"error": "contact_your_org_admin",
"code": "owner_role_required",
"correlation_id": "req_01J9A6ZC0SYF5A0M8AP8BNX7B2"
}
Owner Action Assurance Error
{
"error": "owner support actions require onramp_attested identity assurance",
"code": "identity_assurance_insufficient",
"correlation_id": "req_01J9A72Q2Q0VQ8MCR7D2N95D3R"
}