{"record":{"id":"e9cfd4b3b84acdef","repo":"openai/openai-python","slug":"expected-a-non-empty-value-for-version-but-recei","errorCode":null,"errorMessage":"Expected a non-empty value for `version` but received {version!r}","messagePattern":"Expected a non-empty value for `version` but received (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"src/openai/resources/skills/versions/content.py","lineNumber":72,"sourceCode":"    ) -> _legacy_response.HttpxBinaryResponseContent:\n        \"\"\"\n        Download a skill version zip bundle.\n\n        Args:\n          version: The skill version number.\n\n          extra_headers: Send extra headers\n\n          extra_query: Add additional query parameters to the request\n\n          extra_body: Add additional JSON properties to the request\n\n          timeout: Override the client-level default timeout for this request, in seconds\n        \"\"\"\n        if not skill_id:\n            raise ValueError(f\"Expected a non-empty value for `skill_id` but received {skill_id!r}\")\n        if not version:\n            raise ValueError(f\"Expected a non-empty value for `version` but received {version!r}\")\n        extra_headers = {\"Accept\": \"application/binary\", **(extra_headers or {})}\n        return self._get(\n            path_template(\"/skills/{skill_id}/versions/{version}/content\", skill_id=skill_id, version=version),\n            options=make_request_options(\n                extra_headers=extra_headers,\n                extra_query=extra_query,\n                extra_body=extra_body,\n                timeout=timeout,\n                security={\"bearer_auth\": True},\n            ),\n            cast_to=_legacy_response.HttpxBinaryResponseContent,\n        )\n\n\nclass AsyncContent(AsyncAPIResource):\n    @cached_property\n    def with_raw_response(self) -> AsyncContentWithRawResponse:\n        \"\"\"","sourceCodeStart":54,"sourceCodeEnd":90,"githubUrl":"https://github.com/openai/openai-python/blob/9917c6e28e66e90e1227b3d223c06a8c5441515a/src/openai/resources/skills/versions/content.py#L54-L90","documentation":"The version counterpart of the same guard: sync skill-version content retrieval checks version after skill_id, raising ValueError when version is empty/None for GET /skills/{skill_id}/versions/{version}/content. It prevents requesting the unversioned content path by accident.","triggerScenarios":"Calling retrieve(skill_id=<valid>, version=\"\") or version=None — e.g. wanting 'latest' but passing an empty string instead of an explicit version identifier.","commonSituations":"Code written for the unversioned content endpoint copy-pasted to the versioned one; dicts defaulting version to \"\"; template strings that render empty for version.","solutions":["Pass an explicit version returned from client.skills.versions.create/list","If you want the latest content, use the non-versioned client.skills.content.retrieve instead","Default version from a prior list() call rather than an empty string"],"exampleFix":"# before\nclient.skills.versions.content.retrieve(\"skill-abc\", \"\")\n\n# after\nclient.skills.versions.content.retrieve(\"skill-abc\", \"v3\")\n# or latest content:\nclient.skills.content.retrieve(\"skill-abc\")","handlingStrategy":"validation","validationCode":"if not (isinstance(version, str) and version.strip()):\n    raise ValueError(f\"version required, got {version!r}\")\ndata = client.skills.versions.content.retrieve(skill_id, version)","typeGuard":"def is_valid_version(value: object) -> bool:\n    return isinstance(value, str) and bool(value.strip())","tryCatchPattern":null,"preventionTips":["Resolve versions via versions.list() or skill.default_version before download","Don't use \"\" as a 'latest' sentinel — it is not supported","Default template variables to an explicit resolved version"],"tags":["skills","versions","content","validation","path-parameter"],"backgroundTag":"required-parameter-missing","analyzedSha":"9917c6e28e66e90e1227b3d223c06a8c5441515a","analyzedAt":"2026-08-28T11:46:34.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}