public IActionResult Create([FromBody] Document item) { if (item == null) { return(BadRequest()); } var docId = _context.GenerateId(); _context.Documents.TryAdd(docId, item); //Async call so we dont block API Task.Run(() => item.ParseContent()); //Checks if we could parse if (_context.Documents[docId].Faulty == true) { //Remove corrupted documents var ignore = _context.Documents[docId]; _context.Documents.TryRemove(docId, out ignore); //Error code as defined. See swagger return(StatusCode(501)); } return(Content(docId.ToString())); }