Skip to content
Testaroo
yaml1.8 KB

OpenAPI 3.1 Spec (YAML)

The same OpenAPI 3.1 description in YAML: the format most API definitions ship in. Paired with the JSON twin for testing YAML↔JSON conversion and spec parsers.

Preview, first 50 linesyaml
openapi: 3.1.0
info:
  title: Novus Example API
  version: 1.0.0
  description: A tiny example API for testing OpenAPI tooling.
servers:
  - url: https://api.example.com/v1
paths:
  /users:
    get:
      summary: List users
      operationId: listUsers
      parameters:
        - name: page
          in: query
          schema:
            type: integer
            default: 1
      responses:
        '200':
          description: A page of users
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPage'
    post:
      summary: Create a user
      operationId: createUser
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewUser'
      responses:
        '201':
          description: Created
        '422':
          description: Validation failed
  /users/{id}:
    get:
      summary: Get a user
      operationId: getUser
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
      responses:
… 80 lines total: download for the full file.

Specifications

Format
OpenAPI 3.1
Paths
2
Schemas
3
Serialization
YAML

Testing contract

Expected to pass
Scenario
Exercise OpenAPI 3.1 Spec (YAML) in its api workflow. The same OpenAPI 3.1 description in YAML: the format most API definitions ship in.
Expected result
79 text lines, decoded as UTF-8; first nonempty line is 'openapi: 3.1.0'. Declared feature checks: paths=2; schemas=3; serialization=YAML.

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

“OpenAPI 3.1 Spec (YAML)” is a deterministic Testaroo fixture for API testing, Conversion testing. OpenAPI/Swagger specs, GraphQL SDL, JSON Schema, paginated and problem+json error payloads, and webhook samples, for testing API clients, mock servers, contract tests, and schema validators.

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.

Code examples

import yaml  # pip install pyyaml

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

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