public async Task <IActionResult> Post(string token)
        {
            var decrypted = TokenEncryption.Decrypt(token, DocumentsAPIConfiguration.APITokenKey);

            var callback = JsonConvert.DeserializeObject <CallbackModel>(decrypted);

            if (callback.FileIdentifier != null &&
                Request.ContentLength.HasValue &&
                Request.ContentLength.Value > 0
                )
            {
                SecurityContext.AssumeToken(callback.Token);

                var file = await FileStore.GetOneAsync(callback.FileIdentifier) ?? new FileModel(callback.FileIdentifier);

                file.Length   = Request.ContentLength.Value;
                file.MimeType = Request.ContentType ?? "application/octet-stream";
                file.Name     = "callback";
                file          = await FileContentsService.UploadEntireFileAsync(file, Request.Body);
            }

            await QueueSender.SendAsync(callback.Queue, JsonConvert.SerializeObject(callback));

            SuppressWrapper = true;
            return(Ok());
        }