For a deeper look into our World Check One API, look into:
DateTime dateValue = DateTime.UtcNow; // get the datetime NOW GMT string date = dateValue.ToString("R"); // WC1 header requires GMT datetime stamp Console.WriteLine(date); //set host and credentials to the WC1 API Pilot server WC1SampleClientAPI account string gatewayurl = "/v2/"; string gatewayhost = "api-worldcheck.refinitiv.com "; // Here is where you enter your api keys string apikey = "xxxx"; string apisecret = "xxx"; string requestendpoint = "https://api-worldcheck.refinitiv.com/v2/groups"; // Assemble the GET request - NOTE every character including spaces have to be EXACT // for the API server to decode the authorization signature string dataToSign = "(request-target): get " + gatewayurl + "groups\n" + "host: " + gatewayhost + "\n" + // no https only the host name "date: " + date; // GMT date as a string // The Request and API secret are now combined and encrypted string hmac = generateAuthHeader(dataToSign, apisecret); // Assemble the authorization string - This needs to match the dataToSign elements // i.e. requires ONLY host date (no content body for a GET request) //- NOTE every character including spaces have to be EXACT else decryption will fail with 401 Unauthorized string authorisation = "Signature keyId=\"" + apikey + "\",algorithm=\"hmac-sha256\",headers=\"(request-target) host date\",signature=\"" + hmac + "\""; // Send the Request to the API server HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(requestendpoint); // Set the Headers WebReq.Method = "GET"; WebReq.Headers.Add("Authorization", authorisation); WebReq.Headers.Add("Cache-Control", "no-cache"); WebReq.Date = dateValue; // use datetime value GMT time // Get the Response - Status OK HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse(); // Status information about the request Console.WriteLine(WebResp.StatusCode); Console.WriteLine(WebResp.ResponseUri);
When sending this request I am getting error.
System.Net.WebException: 'The remote server returned an error: (401) Unauthorized.'
This is resolved now with Johnson, looks like the indentation issue.
The SLAs for the queries on the portal are 24hours.
Can you confirm if your World-Check One API account name is "Ibrakom" and also confirm if you are using pilot keys for the above consumption?
I suspect maybe your pilot API keys are expired which is causing a 401 as I don't see any active pilot access for "Ibrakom".
Dear Mehran,
Yes account name is "Ibrakom" and api key is working.
I tried from POSTMAN and I am getting 200 OK
But when I try to run the C# code sample, I am getting a 401
Ziad
Let me send you an invite, let's have a quick call in the next 30mins and get this resolved.
Let me know if it's not feasible for you.