Skip to content
Novus Examples
yaml1.5 KB

Petstore OpenAPI 3.1 (Valid YAML)

YAML twin of the valid pet-store OpenAPI spec — for testing YAML spec parsers and JSON↔YAML conversion.

Preview, first 50 linesyaml
openapi: 3.1.0
info:
  title: Novus Petstore SAMPLE API
  version: 1.0.0
  description: Tiny OpenAPI fixture for Wave F schema testing.
paths:
  /pets:
    get:
      operationId: listPets
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PetPage'
    post:
      operationId: createPet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PetCreate'
      responses:
        '201':
          description: Created
  /pets/{petId}:
    get:
      parameters:
        - name: petId
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: OK
        '404':
          description: Not found
components:
  schemas:
    Pet:
      type: object
      required: [id, name]
      properties:
        id: {type: integer}
        name: {type: string}
        tag: {type: string, nullable: true}
    PetCreate:
66 lines total: download for the full file.

Specifications

Format
OpenAPI 3.1
Paths
2
Serialization
YAML
Valid
true

Testing contract

Expected to pass
Scenario
Exercise Petstore OpenAPI 3.1 (Valid YAML) in its schema workflow. YAML twin of the valid pet-store OpenAPI spec — for testing YAML spec parsers and JSON↔YAML conversion.
Expected result
65 text lines, decoded as UTF-8; first nonempty line is 'openapi: 3.1.0'. Declared feature checks: paths=2; serialization=YAML; valid=True.

What is a .yaml file?

YAML (YAML Ain't Markup Language) is a human-readable data-serialization format using indentation, key-value pairs, and lists, and is a superset of JSON. It supports comments, anchors, and multiple documents per file, favoring readability for configuration. Its indentation sensitivity makes it error-prone to hand-edit.

How to use this file

Use an example YAML file to test config parsers, indentation and anchor handling, multi-document streams, and safe-loading to avoid arbitrary object construction.

How to use this file for testing

“Petstore OpenAPI 3.1 (Valid YAML)” is a deterministic Novus Examples fixture for Schema / OpenAPI testing, JSON parsing, API testing. Valid and intentionally invalid OpenAPI/JSON Schema documents plus request/response examples for schema validators and API tooling.

Documented properties for this file: OpenAPI 3.1. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.

Data fixtures document their exact quirks (delimiters, encodings, null handling, schema, and row counts) in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.

Valid and intentionally invalid siblings are labelled in title and description. Assert parsers accept the valid twin and fail loudly on the invalid one; for time series, check DST gaps and duplicate keys against the spec table.

Code examples

import yaml  # pip install pyyaml

with open("petstore-openapi.yaml") as f:
    data = yaml.safe_load(f)
print(data)

Generated by generation/data_wave_f.py. Free for any use, no attribution required, license.