# Besoin d'aide pour les API

**URL:** https://community.ovhcloud.com/t/besoin-daide-pour-les-api/20607
**Category:** Domaines et Hébergements
**Created:** [Avril 19, 2021, 8:14 UTC](https://community.ovhcloud.com/t/besoin-daide-pour-les-api/20607 "2021-04-19T08:14:07Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![FrancoisR40](https://community.ovhcloud.com/letter_avatar/francoisr40/32/5_5575768a8748004e209b776fc1b2916d.png) [@FrancoisR40](https://community.ovhcloud.com/u/FrancoisR40)
#### Post date: [Avril 19, 2021, 8:14 UTC](https://community.ovhcloud.com/t/besoin-daide-pour-les-api/20607/1 "2021-04-19T08:14:07Z")

</div>

Bonjour,  
  
Souhaitant utiliser les API pour mettre à jour ma zone DNS, j'ai donc suivi le guide d'OVH : [First Steps with the API](https://docs.ovh.com/gb/en/customer/first-steps-with-ovh-api/).  
  
Après avoir obtenu la paire de clés AK/AS, j'ai obtenu la clé CK :  
 WEB\_OVH="[https://eu.api.ovh.com/1.0/auth/credential&#34;](https://eu.api.ovh.com/1.0/auth/credential&#34;)  
  
 \_get\_ck\_unlimited()  
 {  
 curl \<br /\> "${WEB\_OVH}" \<br /\> --show-error \<br /\> --silent \<br /\> --header "X-Ovh-Application: ${AK}" \<br /\> --header "Content-type: application/json" \<br /\> --request POST \<br /\> --data '{  
 "accessRules": [  
 {  
 "method": "GET",  
 "path": "/_"  
 },  
 {  
 "method": "POST",  
 "path": "/_"  
 }  
 ],  
 "redirection": "[https://mydomain.tld](https://mydomain.tld)"  
 }' \<br /\> | jq  
 }  
  
  
Réponse d'OVH :  
 {  
 "state": "pendingValidation",  
 "consumerKey": "secret",  
 "validationUrl": "[https://eu.api.ovh.com/auth/?credentialToken&#61;blablabla&#34;](https://eu.api.ovh.com/auth/?credentialToken&#61;blablabla&#34;)  
 }  
  
Donc à priori la clé CK est valide pour toutes les actions portant sur toutes les API. J'ai ensuite suivi l'URL de validation.  
  
Pourtant, en continuant de suivre le guide (section "Carrying out a request"), j'obtiens une erreur :  
  
 BODY=""  
 METHOD="GET"  
 TIME\_STAMP="$(curl --silent [https://eu.api.ovh.com/1.0/auth/time](https://eu.api.ovh.com/1.0/auth/time))"  
  
 \_test()  
 {  
 local hash  
 local pre\_hash  
 local query  
 local signature  
  
 query="[https://eu.api.ovh.com/1.0/domain/&#34;](https://eu.api.ovh.com/1.0/domain/&#34;)  
 pre\_hash="${AS}+${CK}+${METHOD}+${query}+${BODY}+${TIME\_STAMP}"  
 hash="$(echo ${pre\_hash} | sha1)"  
 signature="$1$${hash}"  
  
 curl \<br /\> "${query}" \<br /\> --show-error \<br /\> --silent \<br /\> --header "X-Ovh-Application:${AK}" \<br /\> --header "X-Ovh-Timestamp:${TIME\_STAMP}" \<br /\> --header "X-Ovh-Signature:${signature}" \<br /\> --header "X-Ovh-Consumer:${CK}" \<br /\> | jq  
 }  
  
Message d'erreur suite à l'éxécution de la fonction "\_test" :  
 {  
 "message": "Invalid signature",  
 "httpCode": "400 Bad Request",  
 "errorCode": "INVALID\_SIGNATURE"  
 }  
  
Des suggestions sur l'origine de l'erreur ?  
  
Cordialement.
