public async Task <IActionResult> GetByReference(string reference)
        {
            var requestId = Guid.NewGuid().ToString();

            _logger.LogInformation($"RequestID:{requestId} - GeOpportunitytByReference called.");

            try
            {
                if (String.IsNullOrEmpty(reference))
                {
                    _logger.LogError($"RequestID:{requestId} - GeOpportunitytByReference ref == null.");
                    return(NotFound($"RequestID:{requestId} - GeOpportunitytByReference Invalid parameter. ref = null."));
                }
                var thisOpportunity = await _opportunityService.GetItemByRefAsync(reference, requestId);

                if (thisOpportunity == null)
                {
                    _logger.LogError($"RequestID:{requestId} - GeOpportunitytByReference no opportunities found.");
                    return(NotFound($"RequestID:{requestId} - GeOpportunitytByReference no opportunities found"));
                }

                return(Ok(JObject.FromObject(thisOpportunity)));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestID:{requestId} - GeOpportunitytByReference error: {ex.Message}");
                var errorResponse = JsonErrorResponse.BadRequest($"GeOpportunitytByReference error: {ex.Message} ", requestId);

                return(BadRequest(errorResponse));
            }
        }