API Reference¶
- class defspec.spec.OpenAPI(*, openapi: str = '3.1.0', info: ~defspec.spec.OpenAPIInfo = <factory>, paths: dict[str, dict[str, ~defspec.spec.OpenAPIRoute]] = <factory>, defs: dict[str, dict] = <factory>, components: ~defspec.spec.OpenAPIComponent = <factory>, security: list[dict[str, list[str]]] = <factory>)[source]¶
OpenAPI specification.
- Usage:
>>> openapi = OpenAPI() >>> # init with customized info >>> openapi = OpenAPI( >>> info=OpenAPIInfo(title="My API", version="1.2.3"), >>> components=OpenAPIComponent( >>> security_schemes={ >>> "APIKey": SecuritySchemeAPIKey(name="X-Auth-Token") >>> } >>> ), >>> )
- class defspec.spec.OpenAPIComponent(*, schemas: dict[str, dict] = <factory>, security_schemes: dict[str, ~defspec.spec.SecuritySchemeHTTP | ~defspec.spec.SecuritySchemeAPIKey | ~defspec.spec.SecuritySchemeOAuth2 | ~defspec.spec.SecuritySchemeOpenID] = <factory>)[source]¶
- class defspec.spec.SecuritySchemeAPIKey(name: str, located_in: Literal['query', 'header', 'cookie'] = 'header')[source]¶
- class defspec.spec.OAuthFlow(authorization_code: OAuthFlowAuthorizationCode | None = None, implicit: ImplicitOAuthFlow | None = None, password: PasswordOAuthFlow | None = None, client_credentials: ClientCredentialsOAuthFlow | None = None)[source]¶
OAuth flow type.
One or more named flows are supported.
Previous name in OpenAPI 2.0:
authorizationCode: accessCode
implicit: implicit
password: password
clientCredentials: application
- class defspec.spec.OAuthFlowAuthorizationCode(authorization_url: str, token_url: str, refresh_url: str | None = None, scopes: dict[str, str] = <factory>)[source]¶
- class defspec.spec.ImplicitOAuthFlow(authorization_url: str, refresh_url: str | None = None, scopes: dict[str, str] = <factory>)[source]¶