public async Task <IActionResult> ApplyCustomProfile([FromBody] ApplyCustomProfileRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(ModelState));
            }

            IEnumerable <FundingStreamPermission> fundingStreamPermissions = await _authorizationHelper.GetUserFundingStreamPermissions(User);

            if (fundingStreamPermissions.All(
                    x => x.FundingStreamId == request.FundingStreamId && x.CanApplyCustomProfilePattern == false))
            {
                return(new ForbidResult());
            }

            NoValidatedContentApiResponse result = await _publishingApiClient.ApplyCustomProfilePattern(request);

            if (result.StatusCode == HttpStatusCode.BadRequest)
            {
                return(BadRequest(result.ModelState));
            }

            if (result.StatusCode == HttpStatusCode.InternalServerError)
            {
                return(new InternalServerErrorResult($"Unable to apply custom profile. An error has occurred.'"));
            }

            return(StatusCode((int)result.StatusCode));
        }