Skip to content

OpenAPI doesn't validate #823

@andig

Description

@andig
Member

Using https://docs.evcc.io/assets/files/rest-api-64d953eef4da0bc1e1c2a1d274f2ea57.yaml with https://oas-validation.com I'm getting erros:

Context: Path: /loadpoints/{id}/plan/static/preview/{type}/{goal}/{timestamp}, Method: GET, Parameter: goal, Example: socAvailable
Example:
80
Error: 80 is valid under each of {'$ref': '#/components/parameters/power'}, {'$ref': '#/components/parameters/soc'} Failed validating 'oneOf' in schema: {'oneOf': [{'$ref': '#/components/parameters/soc'}, {'$ref': '#/components/parameters/power'}]} On instance: 80
Context: Path: /loadpoints/{id}/plan/static/preview/{type}/{goal}/{timestamp}, Method: GET, Parameter: goal, Example: socNotAvailable
Example:
2500
Error: 2500 is valid under each of {'$ref': '#/components/parameters/power'}, {'$ref': '#/components/parameters/soc'} Failed validating 'oneOf' in schema: {'oneOf': [{'$ref': '#/components/parameters/soc'}, {'$ref': '#/components/parameters/power'}]} On instance: 2500
Context: Schema: HourMinuteTime
Example:
HH:MM
Error: Unrecognized format 'HH:MM'

/cc @Maschga

Activity

Maschga

Maschga commented on Jun 21, 2025

@Maschga
Contributor

Ich sehe die beiden ersten Fehler als Hinweis, dass sich die beiden Beispiele 80 und 2500 nicht auf ein einzelnes Schema eingrenzen lassen, sondern sowohl als soc als auch als power validiert werden können.
Das ist aber meiner Meinung nach kein Fehler.

Für den dritten Fehler, siehe format is an open value. Das ist definitiv in Ordnung.

andig

andig commented on Jun 21, 2025

@andig
MemberAuthor

Leider sieht das Tooling das anders und weigert sich die Spec weiter zu verarbeiten. Inhaltlich kann ich das nicht kommentieren :(

Maschga

Maschga commented on Jun 21, 2025

@Maschga
Contributor

rest-api.yaml.txt

Das ist eine minimal geänderte Datei ohne die Fehler.
Hilft das?

andig

andig commented on Jun 23, 2025

@andig
MemberAuthor

Seems different now. https://oas-validation.com passes, but https://jedisct1.github.io/openapi-mcp/ doesn't:

openapi-mcp validate rest-api.yaml
Validation failed: OPENAPI LOADING ERROR: Spec parsing failed

FILE: rest-api.yaml

ORIGINAL ERROR:
OPENAPI LOADING ERROR: Spec parsing failed

ORIGINAL ERROR:
bad data in "#/components/parameters/soc" (expecting ref to schema object)
Maschga

Maschga commented on Jun 23, 2025

@Maschga
Contributor

Gibt es dazu eine Zeilenangabe? Oder ein Online Tool, in dem ich die Datei testen kann, bis keine Fehler mehr aufkommen?

Maschga

Maschga commented on Jun 23, 2025

@Maschga
Contributor

Ich habe openapi-mcp zum Laufen bekommen.
Werde die Hinweise und Fehler fixen und einen PR für das Docs Repo erstellen.

andig

andig commented on Jun 23, 2025

@andig
MemberAuthor

Top- soll ich das validator Issue dann schliessen? Könntest du die yaml hier posten?

Maschga

Maschga commented on Jun 23, 2025

@Maschga
Contributor

Nein, das kannst du offen lassen.
Ich würde die Yaml in Master mergen wollen.

Maschga

Maschga commented on Jun 23, 2025

@Maschga
Contributor

@andig Reicht es aus, wenn openapi-mcp validate keinen Fehler zurückgibt, auch wenn https://oas-validation.com failed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @andig@Maschga

      Issue actions

        OpenAPI doesn't validate · Issue #823 · evcc-io/docs