Schemint

paste PostgreSQL or JSON, get your schema reviewed like a senior would

OpenAPI / JSON Schema to Pydantic model

Paste an OpenAPI schema, get Pydantic models. Nothing you paste is stored.

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.

Try it on your own schema

Example

JSON Schema in:

{
  "$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"}
  }
}

Generated:

product_model.py

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

Related