Skip to main content
FastAPI Docs

Search documentation

Type to search this documentation.

On this pageOverview

OpenAPI models¶

OpenAPI Pydantic models used to generate and validate the generated OpenAPI.

SchemaType = Literal[
    "array",
    "boolean",
    "integer",
    "null",
    "number",
    "object",
    "string",
]
SchemaOrBool = Schema | bool
SecurityScheme = (
    APIKey | HTTPBase | OAuth2 | OpenIdConnect | HTTPBearer
)

Bases: BaseModel

model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

name = None
url = None
email = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

name
identifier = None
url = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

title
summary = None
description = None
termsOfService = None
contact = None
license = None
version
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

enum = None
default
description = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

url
description = None
variables = None
model_config = {'extra': 'allow'}

Bases: BaseModel

ref = Field(alias='$ref')

Bases: BaseModel

propertyName
mapping = None

Bases: BaseModelWithConfig

name = None
namespace = None
prefix = None
attribute = None
wrapped = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

description = None
url
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

schema_ = Field(default=None, alias='$schema')
vocabulary = Field(default=None, alias='$vocabulary')
id = Field(default=None, alias='$id')
anchor = Field(default=None, alias='$anchor')
dynamicAnchor = Field(default=None, alias='$dynamicAnchor')
ref = Field(default=None, alias='$ref')
dynamicRef = Field(default=None, alias='$dynamicRef')
defs = Field(default=None, alias='$defs')
comment = Field(default=None, alias='$comment')
allOf = None
anyOf = None
oneOf = None
not_ = Field(default=None, alias='not')
if_ = Field(default=None, alias='if')
then = None
else_ = Field(default=None, alias='else')

dependentSchemas class-attribute instance-attribute

Section titled “dependentSchemas class-attribute instance-attribute ¶”
dependentSchemas = None
prefixItems = None
items = None
contains = None
properties = None

patternProperties class-attribute instance-attribute

Section titled “patternProperties class-attribute instance-attribute ¶”
patternProperties = None

additionalProperties class-attribute instance-attribute

Section titled “additionalProperties class-attribute instance-attribute ¶”
additionalProperties = None
propertyNames = None

unevaluatedItems class-attribute instance-attribute

Section titled “unevaluatedItems class-attribute instance-attribute ¶”
unevaluatedItems = None

unevaluatedProperties class-attribute instance-attribute

Section titled “unevaluatedProperties class-attribute instance-attribute ¶”
unevaluatedProperties = None
type = None
enum = None
const = None
multipleOf = Field(default=None, gt=0)
maximum = None

exclusiveMaximum class-attribute instance-attribute

Section titled “exclusiveMaximum class-attribute instance-attribute ¶”
exclusiveMaximum = None
minimum = None

exclusiveMinimum class-attribute instance-attribute

Section titled “exclusiveMinimum class-attribute instance-attribute ¶”
exclusiveMinimum = None
maxLength = Field(default=None, ge=0)
minLength = Field(default=None, ge=0)
pattern = None
maxItems = Field(default=None, ge=0)
minItems = Field(default=None, ge=0)
uniqueItems = None
maxContains = Field(default=None, ge=0)
minContains = Field(default=None, ge=0)
maxProperties = Field(default=None, ge=0)
minProperties = Field(default=None, ge=0)
required = None

dependentRequired class-attribute instance-attribute

Section titled “dependentRequired class-attribute instance-attribute ¶”
dependentRequired = None
format = None
contentEncoding = None

contentMediaType class-attribute instance-attribute

Section titled “contentMediaType class-attribute instance-attribute ¶”
contentMediaType = None
contentSchema = None
title = None
description = None
default = None
deprecated = None
readOnly = None
writeOnly = None
examples = None
discriminator = None
xml = None
externalDocs = None
example = None
Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, although still supported. Use examples instead.
model_config = {'extra': 'allow'}

Bases: TypedDict

summary
description
value
externalValue

Bases: Enum

query = 'query'
header = 'header'
path = 'path'
cookie = 'cookie'

Bases: BaseModelWithConfig

contentType = None
headers = None
style = None
explode = None
allowReserved = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

schema_ = Field(default=None, alias='schema')
example = None
examples = None
encoding = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

description = None
required = None
deprecated = None
style = None
explode = None
allowReserved = None
schema_ = Field(default=None, alias='schema')
example = None
examples = None
content = None
model_config = {'extra': 'allow'}

Bases: ParameterBase

name
in_ = Field(alias='in')
model_config = {'extra': 'allow'}
description = None
required = None
deprecated = None
style = None
explode = None
allowReserved = None
schema_ = Field(default=None, alias='schema')
example = None
examples = None
content = None

Bases: ParameterBase

model_config = {'extra': 'allow'}
description = None
required = None
deprecated = None
style = None
explode = None
allowReserved = None
schema_ = Field(default=None, alias='schema')
example = None
examples = None
content = None

Bases: BaseModelWithConfig

description = None
content
required = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

operationRef = None
operationId = None
parameters = None
requestBody = None
description = None
server = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

description
headers = None
content = None
links = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

tags = None
summary = None
description = None
externalDocs = None
operationId = None
parameters = None
requestBody = None
responses = None
callbacks = None
deprecated = None
security = None
servers = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

ref = Field(default=None, alias='$ref')
summary = None
description = None
get = None
put = None
post = None
delete = None
options = None
head = None
patch = None
trace = None
servers = None
parameters = None
model_config = {'extra': 'allow'}

Bases: Enum

apiKey = 'apiKey'
http = 'http'
oauth2 = 'oauth2'
openIdConnect = 'openIdConnect'

Bases: BaseModelWithConfig

type_ = Field(alias='type')
description = None
model_config = {'extra': 'allow'}

Bases: Enum

query = 'query'
header = 'header'
cookie = 'cookie'

Bases: SecurityBase

type_ = Field(default=apiKey, alias='type')
in_ = Field(alias='in')
name
model_config = {'extra': 'allow'}
description = None

Bases: SecurityBase

type_ = Field(default=http, alias='type')
scheme
model_config = {'extra': 'allow'}
description = None

Bases: HTTPBase

scheme = 'bearer'
bearerFormat = None
model_config = {'extra': 'allow'}
type_ = Field(default=http, alias='type')
description = None

Bases: BaseModelWithConfig

refreshUrl = None
scopes = {}
model_config = {'extra': 'allow'}

Bases: OAuthFlow

authorizationUrl
model_config = {'extra': 'allow'}
refreshUrl = None
scopes = {}

Bases: OAuthFlow

tokenUrl
model_config = {'extra': 'allow'}
refreshUrl = None
scopes = {}

Bases: OAuthFlow

tokenUrl
model_config = {'extra': 'allow'}
refreshUrl = None
scopes = {}

Bases: OAuthFlow

authorizationUrl
tokenUrl
model_config = {'extra': 'allow'}
refreshUrl = None
scopes = {}

Bases: BaseModelWithConfig

implicit = None
password = None

clientCredentials class-attribute instance-attribute

Section titled “clientCredentials class-attribute instance-attribute ¶”
clientCredentials = None

authorizationCode class-attribute instance-attribute

Section titled “authorizationCode class-attribute instance-attribute ¶”
authorizationCode = None
model_config = {'extra': 'allow'}

Bases: SecurityBase

type_ = Field(default=oauth2, alias='type')
flows
model_config = {'extra': 'allow'}
description = None

Bases: SecurityBase

type_ = Field(default=openIdConnect, alias='type')
openIdConnectUrl
model_config = {'extra': 'allow'}
description = None

Bases: BaseModelWithConfig

schemas = None
responses = None
parameters = None
examples = None
requestBodies = None
headers = None
securitySchemes = None
links = None
callbacks = None
pathItems = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

name
description = None
externalDocs = None
model_config = {'extra': 'allow'}

Bases: BaseModelWithConfig

openapi
info

jsonSchemaDialect class-attribute instance-attribute

Section titled “jsonSchemaDialect class-attribute instance-attribute ¶”
jsonSchemaDialect = None
servers = None
paths = None
webhooks = None
components = None
security = None
tags = None
externalDocs = None
model_config = {'extra': 'allow'}
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu