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 class-attribute instance-attribute

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

Bases: BaseModelWithConfig

name = None
url = None
email = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

name

identifier class-attribute instance-attribute

Section titled “identifier class-attribute instance-attribute”
identifier = None
url = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

title
summary = None

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

termsOfService class-attribute instance-attribute

Section titled “termsOfService class-attribute instance-attribute”
termsOfService = None
contact = None
license = None
version

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

enum = None
default

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

url

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

variables class-attribute instance-attribute

Section titled “variables class-attribute instance-attribute”
variables = None

model_config class-attribute instance-attribute

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

Bases: BaseModel

ref = Field(alias='$ref')

Bases: BaseModel

propertyName
mapping = None

Bases: BaseModelWithConfig

name = None

namespace class-attribute instance-attribute

Section titled “namespace class-attribute instance-attribute”
namespace = None
prefix = None

attribute class-attribute instance-attribute

Section titled “attribute class-attribute instance-attribute”
attribute = None
wrapped = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None
url

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

schema_ = Field(default=None, alias='$schema')

vocabulary class-attribute instance-attribute

Section titled “vocabulary class-attribute instance-attribute”
vocabulary = Field(default=None, alias='$vocabulary')
id = Field(default=None, alias='$id')
anchor = Field(default=None, alias='$anchor')

dynamicAnchor class-attribute instance-attribute

Section titled “dynamicAnchor class-attribute instance-attribute”
dynamicAnchor = Field(default=None, alias='$dynamicAnchor')
ref = Field(default=None, alias='$ref')

dynamicRef class-attribute instance-attribute

Section titled “dynamicRef class-attribute instance-attribute”
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 class-attribute instance-attribute

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

properties class-attribute instance-attribute

Section titled “properties class-attribute instance-attribute”
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 class-attribute instance-attribute

Section titled “propertyNames class-attribute instance-attribute”
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 class-attribute instance-attribute

Section titled “multipleOf class-attribute instance-attribute”
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 class-attribute instance-attribute

Section titled “maxLength class-attribute instance-attribute”
maxLength = Field(default=None, ge=0)

minLength class-attribute instance-attribute

Section titled “minLength class-attribute instance-attribute”
minLength = Field(default=None, ge=0)
pattern = None
maxItems = Field(default=None, ge=0)
minItems = Field(default=None, ge=0)

uniqueItems class-attribute instance-attribute

Section titled “uniqueItems class-attribute instance-attribute”
uniqueItems = None

maxContains class-attribute instance-attribute

Section titled “maxContains class-attribute instance-attribute”
maxContains = Field(default=None, ge=0)

minContains class-attribute instance-attribute

Section titled “minContains class-attribute instance-attribute”
minContains = Field(default=None, ge=0)

maxProperties class-attribute instance-attribute

Section titled “maxProperties class-attribute instance-attribute”
maxProperties = Field(default=None, ge=0)

minProperties class-attribute instance-attribute

Section titled “minProperties class-attribute instance-attribute”
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 class-attribute instance-attribute

Section titled “contentEncoding class-attribute instance-attribute”
contentEncoding = None

contentMediaType class-attribute instance-attribute

Section titled “contentMediaType class-attribute instance-attribute”
contentMediaType = None

contentSchema class-attribute instance-attribute

Section titled “contentSchema class-attribute instance-attribute”
contentSchema = None
title = None

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None
default = None

deprecated class-attribute instance-attribute

Section titled “deprecated class-attribute instance-attribute”
deprecated = None
readOnly = None

writeOnly class-attribute instance-attribute

Section titled “writeOnly class-attribute instance-attribute”
writeOnly = None
examples = None

discriminator class-attribute instance-attribute

Section titled “discriminator class-attribute instance-attribute”
discriminator = None
xml = None

externalDocs class-attribute instance-attribute

Section titled “externalDocs class-attribute instance-attribute”
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 class-attribute instance-attribute

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

Bases: TypedDict

summary
description
value
externalValue

Bases: Enum

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

Bases: BaseModelWithConfig

contentType class-attribute instance-attribute

Section titled “contentType class-attribute instance-attribute”
contentType = None
headers = None
style = None
explode = None

allowReserved class-attribute instance-attribute

Section titled “allowReserved class-attribute instance-attribute”
allowReserved = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

schema_ = Field(default=None, alias='schema')
example = None
examples = None
encoding = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None
required = None

deprecated class-attribute instance-attribute

Section titled “deprecated class-attribute instance-attribute”
deprecated = None
style = None
explode = None

allowReserved class-attribute instance-attribute

Section titled “allowReserved class-attribute instance-attribute”
allowReserved = None
schema_ = Field(default=None, alias='schema')
example = None
examples = None
content = None

model_config class-attribute instance-attribute

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

Bases: ParameterBase

name
in_ = Field(alias='in')

model_config class-attribute instance-attribute

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

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None
required = None

deprecated class-attribute instance-attribute

Section titled “deprecated class-attribute instance-attribute”
deprecated = None
style = None
explode = None

allowReserved class-attribute instance-attribute

Section titled “allowReserved class-attribute instance-attribute”
allowReserved = None
schema_ = Field(default=None, alias='schema')
example = None
examples = None
content = None

Bases: ParameterBase

model_config class-attribute instance-attribute

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

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None
required = None

deprecated class-attribute instance-attribute

Section titled “deprecated class-attribute instance-attribute”
deprecated = None
style = None
explode = None

allowReserved class-attribute instance-attribute

Section titled “allowReserved class-attribute instance-attribute”
allowReserved = None
schema_ = Field(default=None, alias='schema')
example = None
examples = None
content = None

Bases: BaseModelWithConfig

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None
content
required = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

operationRef class-attribute instance-attribute

Section titled “operationRef class-attribute instance-attribute”
operationRef = None

operationId class-attribute instance-attribute

Section titled “operationId class-attribute instance-attribute”
operationId = None

parameters class-attribute instance-attribute

Section titled “parameters class-attribute instance-attribute”
parameters = None

requestBody class-attribute instance-attribute

Section titled “requestBody class-attribute instance-attribute”
requestBody = None

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None
server = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

description
headers = None
content = None
links = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

tags = None
summary = None

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

externalDocs class-attribute instance-attribute

Section titled “externalDocs class-attribute instance-attribute”
externalDocs = None

operationId class-attribute instance-attribute

Section titled “operationId class-attribute instance-attribute”
operationId = None

parameters class-attribute instance-attribute

Section titled “parameters class-attribute instance-attribute”
parameters = None

requestBody class-attribute instance-attribute

Section titled “requestBody class-attribute instance-attribute”
requestBody = None

responses class-attribute instance-attribute

Section titled “responses class-attribute instance-attribute”
responses = None

callbacks class-attribute instance-attribute

Section titled “callbacks class-attribute instance-attribute”
callbacks = None

deprecated class-attribute instance-attribute

Section titled “deprecated class-attribute instance-attribute”
deprecated = None
security = None
servers = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

ref = Field(default=None, alias='$ref')
summary = None

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None
get = None
put = None
post = None
delete = None
options = None
head = None
patch = None
trace = None
servers = None

parameters class-attribute instance-attribute

Section titled “parameters class-attribute instance-attribute”
parameters = None

model_config class-attribute instance-attribute

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

Bases: Enum

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

openIdConnect class-attribute instance-attribute

Section titled “openIdConnect class-attribute instance-attribute”
openIdConnect = 'openIdConnect'

Bases: BaseModelWithConfig

type_ = Field(alias='type')

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

model_config class-attribute instance-attribute

Section titled “model_config class-attribute instance-attribute”
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 class-attribute instance-attribute

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

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

Bases: SecurityBase

type_ = Field(default=http, alias='type')
scheme

model_config class-attribute instance-attribute

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

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

Bases: HTTPBase

scheme = 'bearer'

bearerFormat class-attribute instance-attribute

Section titled “bearerFormat class-attribute instance-attribute”
bearerFormat = None

model_config class-attribute instance-attribute

Section titled “model_config class-attribute instance-attribute”
model_config = {'extra': 'allow'}
type_ = Field(default=http, alias='type')

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

Bases: BaseModelWithConfig

refreshUrl class-attribute instance-attribute

Section titled “refreshUrl class-attribute instance-attribute”
refreshUrl = None
scopes = {}

model_config class-attribute instance-attribute

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

Bases: OAuthFlow

authorizationUrl

model_config class-attribute instance-attribute

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

refreshUrl class-attribute instance-attribute

Section titled “refreshUrl class-attribute instance-attribute”
refreshUrl = None
scopes = {}

Bases: OAuthFlow

tokenUrl

model_config class-attribute instance-attribute

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

refreshUrl class-attribute instance-attribute

Section titled “refreshUrl class-attribute instance-attribute”
refreshUrl = None
scopes = {}

Bases: OAuthFlow

tokenUrl

model_config class-attribute instance-attribute

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

refreshUrl class-attribute instance-attribute

Section titled “refreshUrl class-attribute instance-attribute”
refreshUrl = None
scopes = {}

Bases: OAuthFlow

authorizationUrl
tokenUrl

model_config class-attribute instance-attribute

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

refreshUrl class-attribute instance-attribute

Section titled “refreshUrl class-attribute instance-attribute”
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 class-attribute instance-attribute

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

Bases: SecurityBase

type_ = Field(default=oauth2, alias='type')
flows

model_config class-attribute instance-attribute

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

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

Bases: SecurityBase

type_ = Field(default=openIdConnect, alias='type')
openIdConnectUrl

model_config class-attribute instance-attribute

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

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

Bases: BaseModelWithConfig

schemas = None

responses class-attribute instance-attribute

Section titled “responses class-attribute instance-attribute”
responses = None

parameters class-attribute instance-attribute

Section titled “parameters class-attribute instance-attribute”
parameters = None
examples = None

requestBodies class-attribute instance-attribute

Section titled “requestBodies class-attribute instance-attribute”
requestBodies = None
headers = None

securitySchemes class-attribute instance-attribute

Section titled “securitySchemes class-attribute instance-attribute”
securitySchemes = None
links = None

callbacks class-attribute instance-attribute

Section titled “callbacks class-attribute instance-attribute”
callbacks = None

pathItems class-attribute instance-attribute

Section titled “pathItems class-attribute instance-attribute”
pathItems = None

model_config class-attribute instance-attribute

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

Bases: BaseModelWithConfig

name

description class-attribute instance-attribute

Section titled “description class-attribute instance-attribute”
description = None

externalDocs class-attribute instance-attribute

Section titled “externalDocs class-attribute instance-attribute”
externalDocs = None

model_config class-attribute instance-attribute

Section titled “model_config class-attribute instance-attribute”
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 class-attribute instance-attribute

Section titled “components class-attribute instance-attribute”
components = None
security = None
tags = None

externalDocs class-attribute instance-attribute

Section titled “externalDocs class-attribute instance-attribute”
externalDocs = None

model_config class-attribute instance-attribute

Section titled “model_config class-attribute instance-attribute”
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