dotnet/aspnetcore
View on GitHubSet `AdditionalProperties` if Type has `JsonExtensionData` attribute.
Open
#66338 opened on Apr 16, 2026
area-minimalfeature-openapifeature-requesthelp wanted
Description
Is there an existing issue for this?
- I have searched the existing issues
Is your feature request related to a problem? Please describe the problem.
No problem, just a nice to have.
Describe the solution you'd like
This was originally filed in Microsoft/OpenAPI.NET under #2809
If a schema has a field with the [JsonExtensionData] attribute it should specify AdditionalProperties: {} or AdditionalProperties: true to allow for a free-form object.
Describe alternatives you've considered I've setup my own SchemaTransformer that does this:
options.AddSchemaTransformer((schema, context, cancellationToken) =>
{
var extensionDataProperty = context.JsonTypeInfo.Type
.GetProperties(BindingFlags.Public | BindingFlags.Instance)
.FirstOrDefault(p => Attribute.IsDefined(p, typeof(JsonExtensionDataAttribute)));
if (extensionDataProperty is not null)
{
schema.AdditionalPropertiesAllowed = true;
schema.AdditionalProperties = new OpenApiSchema();
}
return Task.CompletedTask;
});
Additional context
I believe it makes sense for this to be supported because if you have a model that has ExtensionData it accepts additional properties, but the OpenApi schema gen doesn't represent this without manual intervention.