Versions in this module Expand all Collapse all v0 v0.3.0 Mar 22, 2026 v0.2.0 Mar 14, 2026 Changes in this version + var ErrEmptyPath = errors.New("path cannot be empty") + var ErrInvalidRef = errors.New("invalid $ref format") + var ErrMissingDescription = errors.New("response description is required") + var ErrMissingTitle = errors.New("info.title is required") + var ErrMissingVersion = errors.New("info.version is required") + func ToJSON(spec *openapi.Spec) ([]byte, error) + func ToString(spec *openapi.Spec, format openapi.Format) (string, error) + func ToYAML(spec *openapi.Spec) ([]byte, error) + func WriteFile(path string, spec *openapi.Spec) error + func WriteJSON(w io.Writer, spec *openapi.Spec) error + func WriteYAML(w io.Writer, spec *openapi.Spec) error + type BuildError struct + Err error + Field string + Message string + func (e *BuildError) Error() string + func (e *BuildError) Unwrap() error + type ComponentsBuilder struct + func (b *ComponentsBuilder) AddSecurityScheme(name string, scheme *StandaloneSecuritySchemeBuilder) *ComponentsBuilder + func (b *ComponentsBuilder) Build() *openapi.Components + func (b *ComponentsBuilder) Done() *SpecBuilder + func (b *ComponentsBuilder) Header(name string, header *HeaderBuilder) *ComponentsBuilder + func (b *ComponentsBuilder) Parameter(name string, param *StandaloneParameterBuilder) *ComponentsBuilder + func (b *ComponentsBuilder) RequestBody(name string, body *StandaloneRequestBodyBuilder) *ComponentsBuilder + func (b *ComponentsBuilder) Response(name string, response *StandaloneResponseBuilder) *ComponentsBuilder + func (b *ComponentsBuilder) Schema(name string, schema *SchemaBuilder) *ComponentsBuilder + func (b *ComponentsBuilder) SecurityScheme(name string) *SecuritySchemeBuilder + type HeaderBuilder struct + func (b *HeaderBuilder) Build() *openapi.Header + func (b *HeaderBuilder) Description(d string) *HeaderBuilder + func (b *HeaderBuilder) Done() *ResponseBuilder + func (b *HeaderBuilder) Format(f string) *HeaderBuilder + func (b *HeaderBuilder) Required() *HeaderBuilder + func (b *HeaderBuilder) Schema(schema *SchemaBuilder) *HeaderBuilder + func (b *HeaderBuilder) Type(t string) *HeaderBuilder + type OAuthFlowBuilder struct + func (b *OAuthFlowBuilder) Done() *OAuthFlowsBuilder + func (b *OAuthFlowBuilder) RefreshURL(url string) *OAuthFlowBuilder + func (b *OAuthFlowBuilder) Scope(name, description string) *OAuthFlowBuilder + func (b *OAuthFlowBuilder) Scopes(scopes map[string]string) *OAuthFlowBuilder + type OAuthFlowsBuilder struct + func (b *OAuthFlowsBuilder) AuthorizationCode(authURL, tokenURL string) *OAuthFlowBuilder + func (b *OAuthFlowsBuilder) ClientCredentials(tokenURL string) *OAuthFlowBuilder + func (b *OAuthFlowsBuilder) Done() *SecuritySchemeBuilder + func (b *OAuthFlowsBuilder) Implicit(authURL string) *OAuthFlowBuilder + func (b *OAuthFlowsBuilder) Password(tokenURL string) *OAuthFlowBuilder + type OperationBuilder struct + func (b *OperationBuilder) Build() *openapi.Operation + func (b *OperationBuilder) CookieParam(name string) *ParameterBuilder + func (b *OperationBuilder) Deprecated() *OperationBuilder + func (b *OperationBuilder) Description(d string) *OperationBuilder + func (b *OperationBuilder) Done() *PathItemBuilder + func (b *OperationBuilder) HeaderParam(name string) *ParameterBuilder + func (b *OperationBuilder) JSONBody(schema *SchemaBuilder) *OperationBuilder + func (b *OperationBuilder) NoSecurity() *OperationBuilder + func (b *OperationBuilder) OperationID(id string) *OperationBuilder + func (b *OperationBuilder) Parameter(param *openapi.Parameter) *OperationBuilder + func (b *OperationBuilder) PathParam(name string) *ParameterBuilder + func (b *OperationBuilder) QueryParam(name string) *ParameterBuilder + func (b *OperationBuilder) RequestBody() *RequestBodyBuilder + func (b *OperationBuilder) Response(statusCode int) *ResponseBuilder + func (b *OperationBuilder) Response2XX() *ResponseBuilder + func (b *OperationBuilder) Response4XX() *ResponseBuilder + func (b *OperationBuilder) Response5XX() *ResponseBuilder + func (b *OperationBuilder) ResponseDefault() *ResponseBuilder + func (b *OperationBuilder) Security(name string, scopes ...string) *OperationBuilder + func (b *OperationBuilder) Summary(s string) *OperationBuilder + func (b *OperationBuilder) Tags(tags ...string) *OperationBuilder + type ParameterBuilder struct + func (b *ParameterBuilder) AllowEmptyValue() *ParameterBuilder + func (b *ParameterBuilder) Build() *openapi.Parameter + func (b *ParameterBuilder) Deprecated() *ParameterBuilder + func (b *ParameterBuilder) Description(d string) *ParameterBuilder + func (b *ParameterBuilder) DoneOp() *OperationBuilder + func (b *ParameterBuilder) Enum(values ...any) *ParameterBuilder + func (b *ParameterBuilder) Example(v any) *ParameterBuilder + func (b *ParameterBuilder) Format(f string) *ParameterBuilder + func (b *ParameterBuilder) Required() *ParameterBuilder + func (b *ParameterBuilder) Schema(schema *SchemaBuilder) *ParameterBuilder + func (b *ParameterBuilder) Type(t string) *ParameterBuilder + type PathItemBuilder struct + func (b *PathItemBuilder) Build() *openapi.PathItem + func (b *PathItemBuilder) Delete() *OperationBuilder + func (b *PathItemBuilder) Description(d string) *PathItemBuilder + func (b *PathItemBuilder) Done() *SpecBuilder + func (b *PathItemBuilder) Get() *OperationBuilder + func (b *PathItemBuilder) Head() *OperationBuilder + func (b *PathItemBuilder) Options() *OperationBuilder + func (b *PathItemBuilder) Parameter(param *openapi.Parameter) *PathItemBuilder + func (b *PathItemBuilder) Patch() *OperationBuilder + func (b *PathItemBuilder) Post() *OperationBuilder + func (b *PathItemBuilder) Put() *OperationBuilder + func (b *PathItemBuilder) Summary(s string) *PathItemBuilder + func (b *PathItemBuilder) Trace() *OperationBuilder + type RequestBodyBuilder struct + func (b *RequestBodyBuilder) Build() *openapi.RequestBody + func (b *RequestBodyBuilder) Content(mediaType string, schema *SchemaBuilder) *RequestBodyBuilder + func (b *RequestBodyBuilder) Description(d string) *RequestBodyBuilder + func (b *RequestBodyBuilder) Done() *OperationBuilder + func (b *RequestBodyBuilder) FormURLEncoded(schema *SchemaBuilder) *RequestBodyBuilder + func (b *RequestBodyBuilder) JSON(schema *SchemaBuilder) *RequestBodyBuilder + func (b *RequestBodyBuilder) MultipartFormData(schema *SchemaBuilder) *RequestBodyBuilder + func (b *RequestBodyBuilder) OctetStream(schema *SchemaBuilder) *RequestBodyBuilder + func (b *RequestBodyBuilder) Required() *RequestBodyBuilder + func (b *RequestBodyBuilder) TextPlain(schema *SchemaBuilder) *RequestBodyBuilder + func (b *RequestBodyBuilder) WithExample(example any) *RequestBodyBuilder + func (b *RequestBodyBuilder) XML(schema *SchemaBuilder) *RequestBodyBuilder + type ResponseBuilder struct + func (b *ResponseBuilder) Build() *openapi.Response + func (b *ResponseBuilder) Content(mediaType string, schema *SchemaBuilder) *ResponseBuilder + func (b *ResponseBuilder) Description(d string) *ResponseBuilder + func (b *ResponseBuilder) Done() *OperationBuilder + func (b *ResponseBuilder) HTML(schema *SchemaBuilder) *ResponseBuilder + func (b *ResponseBuilder) Header(name string) *HeaderBuilder + func (b *ResponseBuilder) JSON(schema *SchemaBuilder) *ResponseBuilder + func (b *ResponseBuilder) OctetStream(schema *SchemaBuilder) *ResponseBuilder + func (b *ResponseBuilder) TextPlain(schema *SchemaBuilder) *ResponseBuilder + func (b *ResponseBuilder) XML(schema *SchemaBuilder) *ResponseBuilder + type SchemaBuilder struct + func ArraySchema(items *SchemaBuilder) *SchemaBuilder + func BooleanSchema() *SchemaBuilder + func IntegerSchema() *SchemaBuilder + func NewSchema() *SchemaBuilder + func NumberSchema() *SchemaBuilder + func ObjectSchema() *SchemaBuilder + func Ref(ref string) *SchemaBuilder + func RefSchema(name string) *SchemaBuilder + func StringSchema() *SchemaBuilder + func (b *SchemaBuilder) AdditionalProperties(schema *SchemaBuilder) *SchemaBuilder + func (b *SchemaBuilder) AdditionalPropertiesAllowed() *SchemaBuilder + func (b *SchemaBuilder) AllOf(schemas ...*SchemaBuilder) *SchemaBuilder + func (b *SchemaBuilder) AnyOf(schemas ...*SchemaBuilder) *SchemaBuilder + func (b *SchemaBuilder) Build() *openapi.Schema + func (b *SchemaBuilder) Const(v any) *SchemaBuilder + func (b *SchemaBuilder) Default(v any) *SchemaBuilder + func (b *SchemaBuilder) Deprecated() *SchemaBuilder + func (b *SchemaBuilder) Description(d string) *SchemaBuilder + func (b *SchemaBuilder) Enum(values ...any) *SchemaBuilder + func (b *SchemaBuilder) Examples(examples ...any) *SchemaBuilder + func (b *SchemaBuilder) ExclusiveMaximum(v float64) *SchemaBuilder + func (b *SchemaBuilder) ExclusiveMinimum(v float64) *SchemaBuilder + func (b *SchemaBuilder) Format(f string) *SchemaBuilder + func (b *SchemaBuilder) Items(items *SchemaBuilder) *SchemaBuilder + func (b *SchemaBuilder) MaxItems(v int) *SchemaBuilder + func (b *SchemaBuilder) MaxLength(v int) *SchemaBuilder + func (b *SchemaBuilder) MaxProperties(v int) *SchemaBuilder + func (b *SchemaBuilder) Maximum(v float64) *SchemaBuilder + func (b *SchemaBuilder) MinItems(v int) *SchemaBuilder + func (b *SchemaBuilder) MinLength(v int) *SchemaBuilder + func (b *SchemaBuilder) MinProperties(v int) *SchemaBuilder + func (b *SchemaBuilder) Minimum(v float64) *SchemaBuilder + func (b *SchemaBuilder) MultipleOf(v float64) *SchemaBuilder + func (b *SchemaBuilder) Not(schema *SchemaBuilder) *SchemaBuilder + func (b *SchemaBuilder) Nullable() *SchemaBuilder + func (b *SchemaBuilder) OneOf(schemas ...*SchemaBuilder) *SchemaBuilder + func (b *SchemaBuilder) Pattern(p string) *SchemaBuilder + func (b *SchemaBuilder) Property(name string, schema *SchemaBuilder) *SchemaBuilder + func (b *SchemaBuilder) ReadOnly() *SchemaBuilder + func (b *SchemaBuilder) Required(names ...string) *SchemaBuilder + func (b *SchemaBuilder) Title(t string) *SchemaBuilder + func (b *SchemaBuilder) Type(t string) *SchemaBuilder + func (b *SchemaBuilder) UniqueItems() *SchemaBuilder + func (b *SchemaBuilder) WithVersion(v Version) *SchemaBuilder + func (b *SchemaBuilder) WriteOnly() *SchemaBuilder + type SecuritySchemeBuilder struct + func (b *SecuritySchemeBuilder) APIKeyCookie(cookieName string) *SecuritySchemeBuilder + func (b *SecuritySchemeBuilder) APIKeyHeader(headerName string) *SecuritySchemeBuilder + func (b *SecuritySchemeBuilder) APIKeyQuery(paramName string) *SecuritySchemeBuilder + func (b *SecuritySchemeBuilder) BasicAuth() *SecuritySchemeBuilder + func (b *SecuritySchemeBuilder) BearerAuth() *SecuritySchemeBuilder + func (b *SecuritySchemeBuilder) BearerFormat(format string) *SecuritySchemeBuilder + func (b *SecuritySchemeBuilder) Build() *openapi.SecurityScheme + func (b *SecuritySchemeBuilder) Description(d string) *SecuritySchemeBuilder + func (b *SecuritySchemeBuilder) Done() *ComponentsBuilder + func (b *SecuritySchemeBuilder) OAuth2() *OAuthFlowsBuilder + func (b *SecuritySchemeBuilder) OpenIDConnect(url string) *SecuritySchemeBuilder + type ServerBuilder struct + func (b *ServerBuilder) Build() *openapi.Server + func (b *ServerBuilder) Description(d string) *ServerBuilder + func (b *ServerBuilder) Done() *SpecBuilder + type SpecBuilder struct + func NewSpec(version Version) *SpecBuilder + func (b *SpecBuilder) AddPath(path string, pathItem *openapi.PathItem) *SpecBuilder + func (b *SpecBuilder) Build() (*openapi.Spec, error) + func (b *SpecBuilder) BuildUnchecked() *openapi.Spec + func (b *SpecBuilder) Components() *ComponentsBuilder + func (b *SpecBuilder) Contact(name, url, email string) *SpecBuilder + func (b *SpecBuilder) Description(desc string) *SpecBuilder + func (b *SpecBuilder) GetVersion() Version + func (b *SpecBuilder) License(name, url string) *SpecBuilder + func (b *SpecBuilder) MustBuild() *openapi.Spec + func (b *SpecBuilder) Path(path string) *PathItemBuilder + func (b *SpecBuilder) Security(name string, scopes ...string) *SpecBuilder + func (b *SpecBuilder) Server(url string) *SpecBuilder + func (b *SpecBuilder) ServerBuilder(url string) *ServerBuilder + func (b *SpecBuilder) ServerWithDescription(url, description string) *SpecBuilder + func (b *SpecBuilder) Spec() *openapi.Spec + func (b *SpecBuilder) Title(title string) *SpecBuilder + func (b *SpecBuilder) Version(v string) *SpecBuilder + type StandaloneParameterBuilder struct + func CookieParam(name string) *StandaloneParameterBuilder + func HeaderParam(name string) *StandaloneParameterBuilder + func PathParam(name string) *StandaloneParameterBuilder + func QueryParam(name string) *StandaloneParameterBuilder + func (b *StandaloneParameterBuilder) AllowEmptyValue() *StandaloneParameterBuilder + func (b *StandaloneParameterBuilder) Build() *openapi.Parameter + func (b *StandaloneParameterBuilder) Deprecated() *StandaloneParameterBuilder + func (b *StandaloneParameterBuilder) Description(d string) *StandaloneParameterBuilder + func (b *StandaloneParameterBuilder) Enum(values ...any) *StandaloneParameterBuilder + func (b *StandaloneParameterBuilder) Example(v any) *StandaloneParameterBuilder + func (b *StandaloneParameterBuilder) Format(f string) *StandaloneParameterBuilder + func (b *StandaloneParameterBuilder) Required() *StandaloneParameterBuilder + func (b *StandaloneParameterBuilder) Schema(schema *SchemaBuilder) *StandaloneParameterBuilder + func (b *StandaloneParameterBuilder) Type(t string) *StandaloneParameterBuilder + type StandaloneRequestBodyBuilder struct + func NewRequestBody() *StandaloneRequestBodyBuilder + func (b *StandaloneRequestBodyBuilder) Build() *openapi.RequestBody + func (b *StandaloneRequestBodyBuilder) Content(mediaType string, schema *SchemaBuilder) *StandaloneRequestBodyBuilder + func (b *StandaloneRequestBodyBuilder) Description(d string) *StandaloneRequestBodyBuilder + func (b *StandaloneRequestBodyBuilder) JSON(schema *SchemaBuilder) *StandaloneRequestBodyBuilder + func (b *StandaloneRequestBodyBuilder) Required() *StandaloneRequestBodyBuilder + type StandaloneResponseBuilder struct + func NewResponse() *StandaloneResponseBuilder + func (b *StandaloneResponseBuilder) Build() *openapi.Response + func (b *StandaloneResponseBuilder) Content(mediaType string, schema *SchemaBuilder) *StandaloneResponseBuilder + func (b *StandaloneResponseBuilder) Description(d string) *StandaloneResponseBuilder + func (b *StandaloneResponseBuilder) JSON(schema *SchemaBuilder) *StandaloneResponseBuilder + type StandaloneSecuritySchemeBuilder struct + func NewSecurityScheme() *StandaloneSecuritySchemeBuilder + func (b *StandaloneSecuritySchemeBuilder) APIKeyHeader(headerName string) *StandaloneSecuritySchemeBuilder + func (b *StandaloneSecuritySchemeBuilder) BasicAuth() *StandaloneSecuritySchemeBuilder + func (b *StandaloneSecuritySchemeBuilder) BearerAuth() *StandaloneSecuritySchemeBuilder + func (b *StandaloneSecuritySchemeBuilder) BearerFormat(format string) *StandaloneSecuritySchemeBuilder + func (b *StandaloneSecuritySchemeBuilder) Build() *openapi.SecurityScheme + func (b *StandaloneSecuritySchemeBuilder) Description(d string) *StandaloneSecuritySchemeBuilder + type StandaloneServerBuilder struct + func NewServer(url string) *StandaloneServerBuilder + func (b *StandaloneServerBuilder) Build() *openapi.Server + func (b *StandaloneServerBuilder) Description(d string) *StandaloneServerBuilder + type ValidationErrors struct + Errors []error + func (e *ValidationErrors) Add(err error) + func (e *ValidationErrors) AddField(field, message string) + func (e *ValidationErrors) Error() string + func (e *ValidationErrors) ErrorOrNil() error + func (e *ValidationErrors) HasErrors() bool + type Version string + const Version300 + const Version301 + const Version302 + const Version303 + const Version310 + const Version311 + const Version320 + func (v Version) Is30x() bool + func (v Version) Is31x() bool + func (v Version) Is32x() bool + func (v Version) Is3x() bool + func (v Version) String() string