{
  "$ref": "#/definitions/pair-claim-by-code",
  "definitions": {
    "pair-claim-by-code": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "minLength": 8,
          "maxLength": 24
        },
        "devicePubKey": {
          "type": "object",
          "additionalProperties": {}
        },
        "device": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "platform": {
              "type": "string",
              "minLength": 1,
              "maxLength": 32
            }
          },
          "required": [
            "name",
            "platform"
          ],
          "additionalProperties": true
        },
        "attestation": {
          "type": "string",
          "maxLength": 8192
        },
        "sealPubKey": {
          "type": "string",
          "minLength": 44,
          "maxLength": 44
        },
        "principal": {
          "type": "object",
          "properties": {
            "sub": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "iss": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "name": {
              "type": "string",
              "maxLength": 200
            }
          },
          "required": [
            "sub",
            "iss"
          ],
          "additionalProperties": true
        }
      },
      "required": [
        "code",
        "devicePubKey",
        "device"
      ],
      "additionalProperties": true
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://www.schwaizer.ch/ocp/schemas/1.0/pair-claim-by-code.json"
}
