windmill-labs/windmill · error

Please fill version input

Error message

Please fill version input

What it means

buildInfo() in the OpenAPI spec generator builds the info object only when title and version are consistent. A non-empty title with an empty version is invalid for OpenAPI v3 (version is required when info is present), so it throws this error to force the user to complete the version field.

Source

Thrown at frontend/src/lib/components/triggers/http/OpenAPISpecGenerator.svelte:101

		return (data as OpenapiHttpRouteFilters).route_path_regex !== undefined
	}

	function getWebhookFilters() {
		return webhookAndHttpRouteFilter.filter(isWebhookFilter)
	}

	function getHttpRouteFilters() {
		return webhookAndHttpRouteFilter.filter(isHttpRouteFilter)
	}

	function buildInfo() {
		const isTitle = !emptyString(title)
		const isVersion = !emptyString(version)

		let info: OpenapiV3Info | undefined = undefined

		if (isTitle && !isVersion) {
			throw new Error('Please fill version input')
		} else if (!isTitle && isVersion) {
			throw new Error('Please fill title input')
		} else if (isTitle && isVersion) {
			let isContact =
				!emptyString(contactName) || !emptyString(contactUrl) || !emptyString(contactEmail)
			let isLicense = !emptyString(licenseName) || !emptyString(licenseUrl)
			info = {
				title,
				version,
				description,
				contact: isContact
					? {
							name: contactName,
							url: contactUrl,
							email: contactEmail
						}
					: undefined,
				license: isLicense

View on GitHub (pinned to e474e8803c)

Solutions

  1. Enter a value in the Version input (e.g. '1.0.0') alongside the title
  2. Clear the Title field as well if you do not want an info block at all (info becomes undefined)
  3. Wire the version input as required in the UI when title is provided

Example fix

// before
title: My API
version: (empty)
// after
title: My API
version: 1.0.0
Defensive patterns

Strategy: validation

Validate before calling

if (title && !version) throw new Error('Please fill version input');

Type guard

function hasCompleteInfo(t: string, v: string): boolean {
  return (!t && !v) || (t !== '' && v !== '');
}

Try / catch

try { buildInfo(); } catch (e) {
  if (e.message === 'Please fill version input') { focusField('version'); }
  else throw e;
}

Prevention

When it happens

Trigger: In OpenAPISpecGenerator, filling the Title input but leaving Version empty, then generating the spec (via the info function).

Common situations: Users fill title out of habit and ignore version; default version placeholder cleared; form partially restored from state where version was lost.

Understand the failure class

Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.

Related errors


AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03). Data as JSON: /api/errors/8c8de524f80af338. Report an issue: GitHub.