You can use [ApiMember(ExcludeInSchema=true)] and [ApiMember(ParameterType=“model”)] to exclude properties you don’t want to see in Open API definitions. For example
[Route("/workflow/{ProjectId}", "POST")]
[Api(BodyParameter = GenerateBodyParameter.Always, IsRequired = true)]
public class WorkflowPostRequest : IReturn<Workflow>
{
[ApiMember(ParameterType = "path", ExcludeInSchema = true)]
public string ProjectId { get; set; }
[ApiMember(ParameterType = "model")]
public Workflow Workflow { get; set; }
}
will generate this Open API definition:
You can see that “query” param for workflow is removed from parameters, and body definition does not contain ProjectId which is defined as parameter only.