web/docs/api/examples/member-channel.examples.md

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"
}