160 lines
3.2 KiB
Markdown
160 lines
3.2 KiB
Markdown
# Member App Channel API Examples
|
|
|
|
## Register Device Channel
|
|
|
|
### Request
|
|
|
|
```http
|
|
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
|
|
|
|
```json
|
|
{
|
|
"channel_binding_id": "ch_01J9A4MQQ6V7H1S0A7R7ME7D4J",
|
|
"status": "active",
|
|
"poll_interval_seconds": 30,
|
|
"server_time": "2026-02-17T20:43:18Z"
|
|
}
|
|
```
|
|
|
|
## Poll Events
|
|
|
|
### Request
|
|
|
|
```http
|
|
GET /member/channel/events?wallet=0x742d35Cc6634C0532925a3b844Bc454e4438f44e&device_id=desktop-7f6f3a9b&cursor=evt_1030&limit=25
|
|
Authorization: Bearer <wallet-session>
|
|
```
|
|
|
|
### Response
|
|
|
|
```json
|
|
{
|
|
"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
|
|
|
|
```http
|
|
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
|
|
|
|
```json
|
|
{
|
|
"status": "acknowledged",
|
|
"event_id": "evt_1031",
|
|
"acknowledged_at": "2026-02-17T20:43:25Z"
|
|
}
|
|
```
|
|
|
|
## Membership Inactive Error
|
|
|
|
```json
|
|
{
|
|
"error": "membership_inactive",
|
|
"code": "membership_inactive",
|
|
"correlation_id": "req_01J9A4Q9GPDXDNZEWJ2FJS6F5R"
|
|
}
|
|
```
|
|
|
|
## Owner Support Ticket
|
|
|
|
### Request
|
|
|
|
```http
|
|
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
|
|
|
|
```json
|
|
{
|
|
"status": "accepted",
|
|
"ticket_id": "st_01J9A6X5VPE31MBBN9Y2BRS5A0",
|
|
"created_at": "2026-02-17T20:45:00Z"
|
|
}
|
|
```
|
|
|
|
## Member Admin Attempt Error
|
|
|
|
```json
|
|
{
|
|
"error": "contact_your_org_admin",
|
|
"code": "owner_role_required",
|
|
"correlation_id": "req_01J9A6ZC0SYF5A0M8AP8BNX7B2"
|
|
}
|
|
```
|
|
|
|
## Owner Action Assurance Error
|
|
|
|
```json
|
|
{
|
|
"error": "owner support actions require onramp_attested identity assurance",
|
|
"code": "identity_assurance_insufficient",
|
|
"correlation_id": "req_01J9A72Q2Q0VQ8MCR7D2N95D3R"
|
|
}
|
|
```
|