Schema validation: missing required property 'kind'
The error “schema validation: missing required property 'kind'” means the document you submitted is missing a top-level kind field that the JSON/YAML schema marks as required — common in Kubernetes manifests, Azure ARM/Bicep resources, Backstage catalogs, and app manifests that expect kind: application.
Platforms that validate documents against a JSON Schema often require a discriminator field named `kind` at the document root so they know how to interpret the rest of the file.
Kubernetes manifests need `kind: Deployment` (or Service, Ingress…), Azure ARM resources use `"kind": "app"` style values, Backstage catalogs need `kind: Component`, and some app-platform manifests expect exactly `kind: application`.
Common causes
- The top-level kind field was deleted or never added (e.g. kind: Deployment in Kubernetes, "kind": "app" in Azure).
- The field is present but at the wrong nesting level — inside spec or metadata instead of the document root.
- A typo or wrong case: Kind, KIND, or kinds will not satisfy a schema that requires kind.
- Multi-document YAML where one document (often after a --- separator) is missing its own kind.
- The value is present but empty or of the wrong type (kind: null, or a list instead of a string).
How to narrow it down
- Open the failing file and check the very first indentation level — `kind` must be a sibling of `apiVersion`/`metadata`, not nested inside them.
- If the file has several YAML documents separated by ---, find which document the error index points to; each one needs its own kind.
- Compare against a known-good example from the platform docs and diff the top-level keys.
Examples
apiVersion: v1
metadata:
name: demo
spec:
replicas: 1The schema requires a top-level kind before this document is accepted.
apiVersion: v1
kind: application
metadata:
name: demo
spec:
replicas: 1Use the exact value your platform expects (application, Deployment, Component…). Casing matters.
How to fix
- Add the required property at the document root, e.g. kind: application (or the value your platform expects).
- Check the schema definition to see the allowed values for kind and copy the exact casing.
- For multi-document YAML, verify every document between --- separators has its own kind and apiVersion.
- Validate the document against the schema with the JSON Schema validator below to catch other missing required properties in one pass.
Watch out
- kind: Application vs kind: application are different values to a strict schema — copy the casing from the schema’s enum.
- Fixing kind may reveal the next missing required property (apiVersion, metadata.name) — validate again after each fix.
Related guides
Use our tool
Validate against schemaAdvertisement