ALL

For reading and verification only. You may not copy, use, modify or redistribute this code. Full notice on the main page.

contracts/schemas/feed-response.schema.json

SHA-256: 9188360b7dbde15e2399b1a8c26c44ccc7055231ca80fb9097042a343a611f55
31 lines · 1534 bytes · View on GitHub

1{
2 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "$id": "https://all-mcp.fyi/contracts/v2/feed-response.schema.json",
4 "title": "GET /v1/tunnel/feed?since=<epoch>, node to control plane. Events carry a strictly increasing epoch; the answer holds every event with epoch greater than `since`, in order, each exactly once. reset=true means the node's cursor is older than the retained history: it must close every tunnel and re-authorize them.",
5 "type": "object",
6 "required": ["ok", "v", "epoch", "server_time", "events"],
7 "additionalProperties": false,
8 "properties": {
9 "ok": {"const": true},
10 "v": {"const": 1},
11 "epoch": {"$ref": "common.schema.json#/$defs/count"},
12 "server_time": {"$ref": "common.schema.json#/$defs/epoch_s"},
13 "reset": {"type": "boolean"},
14 "events": {
15 "type": "array",
16 "maxItems": 1000,
17 "items": {
18 "type": "object",
19 "required": ["epoch", "type", "device_id", "label", "at"],
20 "additionalProperties": false,
21 "properties": {
22 "epoch": {"type": "integer", "minimum": 1, "maximum": 9007199254740991},
23 "type": {"type": "string", "enum": ["revoke", "pause", "resume", "license_end", "release", "kill", "kill_clear"]},
24 "device_id": {"oneOf": [{"type": "null"}, {"$ref": "common.schema.json#/$defs/device_id"}]},
25 "label": {"oneOf": [{"type": "null"}, {"$ref": "common.schema.json#/$defs/label"}]},
26 "at": {"$ref": "common.schema.json#/$defs/epoch_s"}
27 }
28 }
29 }
30 }
31}