{"service": "cross-hub", "version": "0.1.0", "api_version": 1, "schema_version": 1, "server_time": "2026-10-12T07:02:18.092Z", "public_url": "https://cross.zkir.top", "docs": ["https://<public-url>/", "docs/01-protocol.md（仓库内）", "docs/02-data-model.md（仓库内）"], "auth": "Authorization: Bearer <token>（/health 与 / 免认证）", "endpoints": [{"method": "GET", "path": "/health", "roles": ["public"]}, {"method": "GET", "path": "/", "roles": ["public"]}, {"method": "GET", "path": "/api/v1/meta", "roles": ["admin", "desktop", "android", "agent"]}, {"method": "GET", "path": "/api/v1/tasks", "roles": ["admin", "desktop", "android", "agent"]}, {"method": "POST", "path": "/api/v1/tasks", "roles": ["admin", "desktop", "android", "agent"]}, {"method": "POST", "path": "/api/v1/tasks/claim-next", "roles": ["agent"]}, {"method": "GET", "path": "/api/v1/tasks/{id}", "roles": ["admin", "desktop", "android", "agent"]}, {"method": "PATCH", "path": "/api/v1/tasks/{id}", "roles": ["admin", "desktop", "android"]}, {"method": "POST", "path": "/api/v1/tasks/{id}/claim", "roles": ["agent"]}, {"method": "POST", "path": "/api/v1/tasks/{id}/heartbeat", "roles": ["agent"]}, {"method": "POST", "path": "/api/v1/tasks/{id}/release", "roles": ["agent"]}, {"method": "POST", "path": "/api/v1/tasks/{id}/complete", "roles": ["admin", "desktop", "android", "agent"]}, {"method": "POST", "path": "/api/v1/tasks/{id}/fail", "roles": ["admin", "desktop", "android", "agent"]}, {"method": "POST", "path": "/api/v1/tasks/{id}/waiting-human", "roles": ["admin", "desktop", "android", "agent"]}, {"method": "POST", "path": "/api/v1/tasks/{id}/approve", "roles": ["admin", "desktop", "android"]}, {"method": "POST", "path": "/api/v1/tasks/{id}/reopen", "roles": ["admin", "desktop", "android"]}, {"method": "GET", "path": "/api/v1/tasks/{id}/comments", "roles": ["admin", "desktop", "android", "agent"]}, {"method": "POST", "path": "/api/v1/tasks/{id}/comments", "roles": ["admin", "desktop", "android", "agent"]}, {"method": "GET", "path": "/api/v1/events", "roles": ["admin", "desktop", "android", "agent"]}, {"method": "POST", "path": "/api/v1/devices", "roles": ["admin", "desktop", "android"]}, {"method": "POST", "path": "/api/v1/devices/{id}/ack", "roles": ["admin", "desktop", "android"]}, {"method": "GET", "path": "/api/v1/devices", "roles": ["admin", "desktop"]}, {"method": "POST", "path": "/api/v1/notify/test", "roles": ["admin"]}, {"method": "GET", "path": "/api/v1/tokens", "roles": ["admin"]}, {"method": "POST", "path": "/api/v1/tokens", "roles": ["admin"]}, {"method": "POST", "path": "/api/v1/tokens/{id}/revoke", "roles": ["admin"]}]}