ALL

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

contracts/schemas/enroll-response.schema.json

SHA-256: e2e8f1b48931125e46e0bdb96e53eeb25745afb375541c735960b93fae5d12d5
25 lines · 2220 bytes · View on GitHub

1{
2 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "$id": "https://all-mcp.fyi/contracts/v2/enroll-response.schema.json",
4 "title": "200 answer of enroll. host is stored per label (several zones can coexist); the device refuses an OK whose host differs from this one. enroll_after, when not null, is the earliest moment the device may start issuing and connecting (wave staging and certificate budget; for a computer that is not eligible it is a hold of policy.migration.ineligible_hold_s, so a device that ignores `eligible` still waits). cohort, eligible and reason (WP26, optional: a control plane older than the migration engine omits them) say which cohort the license is in, whether this computer may be moved to the encrypted path at all (Lifetime without updates and a legacy credential are never forced; a network that blocks 443 is the computer's own finding, reported as state compat_only, never a veto of the server) and, when it may not, one closed word. e2e_wave stays the global percentage (the computer is in a wave when its own bucket is below it); e2e_kill and copy_e2ee are global too.",
5 "type": "object",
6 "required": ["ok", "v", "device_id", "label", "host", "zone", "nodes", "enroll_after", "server_time", "e2e_wave", "e2e_kill", "copy_e2ee"],
7 "additionalProperties": false,
8 "properties": {
9 "ok": {"const": true},
10 "v": {"const": 1},
11 "device_id": {"$ref": "common.schema.json#/$defs/device_id"},
12 "label": {"$ref": "common.schema.json#/$defs/label"},
13 "host": {"$ref": "common.schema.json#/$defs/fqdn"},
14 "zone": {"$ref": "common.schema.json#/$defs/dns_host"},
15 "nodes": {"$ref": "common.schema.json#/$defs/nodes"},
16 "enroll_after": {"oneOf": [{"type": "null"}, {"$ref": "common.schema.json#/$defs/epoch_s"}]},
17 "server_time": {"$ref": "common.schema.json#/$defs/epoch_s"},
18 "e2e_wave": {"type": "integer", "minimum": 0, "maximum": 100},
19 "e2e_kill": {"type": "boolean"},
20 "copy_e2ee": {"type": "boolean"},
21 "cohort": {"type": "string", "enum": ["paid", "trial", "flex", "legacy"]},
22 "eligible": {"type": "boolean"},
23 "reason": {"type": "string", "enum": ["update_not_in_plan", "legacy_credential", "unsupported_version"]}
24 }
25}