What is SignatureDoesNotMatch error?

Hi,
I am new to the CFS API. I am trying to download a bulk file, but I got I got the SignatureDoesNotMatch error when I am trying to download file from the Cloud.
<?xml version="1.0" encoding="UTF-8"?><Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.XXXXXXXhost:a206464-bulk-custom.s3.amazonaws.com
What cause the issue?
Answers
-
Hello @LtDoolittle6
Thank you for reaching out. I never got the issue or replicate the same event before. Could you please share the snippet code that process and download the cloud URL of the file?
Does it occur with specific file or every bulk files?
0 -
Hello @wasin.w V3
This is our code in C#.
string fileName = actualFileURL.Replace("%3A", "_"); //replace escaped character
string destinationPath = $"./{fileName}";
var httpClient = new HttpClient();
//Download the file
byte[] fileBytes = await httpClient.GetByteArrayAsync(actualFileURL);
await File.WriteAllBytesAsync(destinationPath, fileBytes);I got the error for every bulk files.
0 -
Hello @LtDoolittle6
Thank you for the code. I can replicate the same issue on my end using the given code.
I see that the code has replaced "%3A" with "_" for an entire URL string character. This causes the signature string in the URL changed, so the issue occurs.
This
SignatureDoesNotMatch
error means you have modified or altered the file signature on the file URL, so the Cloud Provider (currently AWS S3) throws this signature mismatch error when you are trying to download a file.The Cloud URL for a bulk-file is in the following format:
https://XXXX.s3.amazonaws.com/XXX/YEAR/MONTH/DATE/{file_name}?x-request-Id={signature}
Examples:
- https://a206464-bulk-esg.s3.amazonaws.com/Bulk-ESG-Global-Symbology-Organization-v1/2023/11/26/Bulk-ESG-Global-Symbology-Organization-v1-Init-2023-11-26T16%3A04%3A11.525Z.jsonl.gz?x-request-Id=signature
- https://a206464-bulk-custom.s3.amazonaws.com/GE-11328/2025/06/12/TM3_FAKEIndex2025-06-12T14%3A00%3A00.000-04%3A00?x-request-Id=signature
Once you got an actual file URL, you must use that URL to download a bulk file As-Is. Do not alter or make any changes to the URL text string. It will cause unable to download or signature mismatch error.
0 -
Hi,
The code to get the file name from URL and escaped character is as follows:
string fileName = actualFileURL.Split("?")[0].Split("/")[^1].Replace("%3A", "_");
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 37 Alpha
- 167 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 707 Datastream
- 1.5K DSS
- 633 Eikon COM
- 5.2K Eikon Data APIs
- 15 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 7 Trading API
- 3K Elektron
- 1.5K EMA
- 260 ETA
- 571 WebSocket API
- 41 FX Venues
- 16 FX Market Data
- 2 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 26 Messenger Bot
- 4 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 284 Open PermID
- 47 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 25 RDMS
- 2.2K Refinitiv Data Platform
- 17 CFS Bulk File/TM3
- 904 Refinitiv Data Platform Libraries
- 5 LSEG Due Diligence
- 1 LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 126 Open DACS
- 1.1K RFA
- 108 UPA
- 197 TREP Infrastructure
- 232 TRKD
- 921 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 106 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛