{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://forms.takoform.com/schemas/v1beta1/form-ref.schema.json",
  "title": "Takoform FormRef v1beta1",
  "type": "object",
  "additionalProperties": false,
  "required": ["apiVersion", "kind", "definitionVersion", "schemaDigest"],
  "properties": {
    "apiVersion": {
      "type": "string",
      "maxLength": 320,
      "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+/v[0-9]+(?:(?:alpha|beta)[0-9]+)?$",
      "not": {
        "enum": ["forms.takoform.com/v1alpha1", "forms.takoform.com/v1alpha2"]
      },
      "description": "Namespaced DNS-like Form group and group version. The frozen forms.takoform.com/v1alpha1 and forms.takoform.com/v1alpha2 groups are retained epochs and are not valid v1beta1 groups."
    },
    "kind": {
      "type": "string",
      "pattern": "^[A-Z][A-Za-z0-9]{0,63}$"
    },
    "definitionVersion": {
      "type": "string",
      "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9A-Za-z-]*[A-Za-z-][0-9A-Za-z-]*)(\\.(0|[1-9][0-9]*|[0-9A-Za-z-]*[A-Za-z-][0-9A-Za-z-]*))*))?(\\+([0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*))?$"
    },
    "schemaDigest": {
      "type": "string",
      "pattern": "^sha256:[0-9a-f]{64}$"
    }
  }
}
