Petstore OpenAPI 3.1 (Valid YAML)
YAML twin of the valid pet-store OpenAPI spec — for testing YAML spec parsers and JSON↔YAML conversion.
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:Specifications
- Format
- OpenAPI 3.1
- 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)Related files
- jsonJSON Schema Edge — Additional Properties FalseMinimal JSON Schema SAMPLE focusing on additional properties false constraints.

- jsonJSON Schema Edge — Array Unique ItemsMinimal JSON Schema SAMPLE focusing on array unique items constraints.

- jsonJSON Schema Edge — Dependent RequiredMinimal JSON Schema SAMPLE focusing on dependent required constraints.

- jsonJSON Schema Edge — Enum CurrencyMinimal JSON Schema SAMPLE focusing on enum currency constraints.

- jsonJSON Schema Edge — Format Uri EmailMinimal JSON Schema SAMPLE focusing on format uri email constraints.

- jsonJSON Schema Edge — Nullable OptionalMinimal JSON Schema SAMPLE focusing on nullable optional constraints.

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