To ignore base class properties you can ContentApiModelFilter<ContentApiModel> and set the values to null. For this to work you need to set the following property (.SetIncludeNullValues(false)) wherever you are configuring the Content API settings
Below is the example
[ServiceConfiguration(typeof(IContentApiModelFilter), Lifecycle = ServiceInstanceScope.Singleton)]
public class CustomContentApiModelFilter : ContentApiModelFilter<ContentApiModel>
public override void Filter(ContentApiModel contentApiModel, ConverterContext converterContext)
contentApiModel.ExistingLanguages = null;
contentApiModel.Created = null;
contentApiModel.StartPublish = null;
2. To modify or transform the data being sent back to the client you need to implement DefaultContentConverter and register the custom implementation.
Register the custom implementation in your dependency
Below is an example to make URL's absolute.
[ServiceConfiguration(typeof(IContentModelMapper), Lifecycle = ServiceInstanceScope.Singleton)]
public class CustomContentModelMapper : DefaultContentConverter
public CustomContentModelMapper(IContentTypeRepository contentTypeRepository,
public override int Order => 200;
protected override string ResolveUrl(ContentReference contentLink, string language)
if (_urlResolver == null)
resolvedUrl = _urlResolverService.ResolveUrl(contentLink, language);
resolvedUrl = _urlResolver.GetUrl(contentLink, language, new UrlResolverArguments()
ContextMode = ContextMode.Default,
ForceCanonical = true
resolvedUrl = UriSupport.AbsoluteUrlBySettings(resolvedUrl);
I have incorporated Content Delivery Api in my solution.The initial setup is working as expected.However there are a few changes that I am working on for tweaking the json output.
1- The Json output that i get includes a lot of properties that is irrelevant for the front end application.For instance startPublish,stopPublish,saved,status & a few others.To get an optimized output,the documentation provides an implemenation for ContentResultService which i have implemented the way as mentioned in the documentation
The issue here is the ContentResultService is not triggered.
I found a thread for the same issue & have tried the recommendations given in the thread but still the same.Also, there is no further update on the thread on the resolution of the issue.Here's the link for the same.
2-The Json output that i get includes url which is a relative path.I need to customize the output to convert relative to absolute urls.
The solution given on the epi documentation is to customize DefaultContentModelMapper & replace with our own implementation.When trying to implement the same,i am unable to get DefaultContentModelMapper class.
The note given in the documentation says,DefaultContentModelMapper is currently marked as internal, so there is a risk of unadvertised breaking changes when customizing this