OpenAPI / JSON Schema to Pydantic model
Paste an OpenAPI document or a JSON Schema and get Pydantic v2 models: one BaseModel per entry in components.schemas, fields outside required become Optional, format: date-time becomes datetime, $refs between schemas become nested models.
Read from the schema you paste, on the server, discarded after the response.
Example
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Product",
"type": "object",
"required": ["id", "sku", "name", "price"],
"properties": {
"id": {"type": "integer", "format": "int64"},
"sku": {"type": "string", "maxLength": 40},
"name": {"type": "string", "maxLength": 200},
"price": {"type": "number", "format": "double"},
"status": {"type": "string", "enum": ["draft", "published", "archived"]},
"created_at": {"type": "string", "format": "date-time"}
}
}
from datetime import datetime
from pydantic import BaseModel
class Product(BaseModel):
id: int
sku: str
name: str
price: float
status: str | None = None
created_at: datetime | None = None