# Pièges

Rien de tout cela n'est une erreur. C'est un comportement qu'il vaut mieux apprendre via la documentation plutôt qu'en analysant la réponse d'autrui.

## La réponse contient un champ superflu `_footer`

Le tarif gratuit et **tout** appel sans clé reçoivent un champ supplémentaire `_footer` avec une signature dans le corps. Les clés payantes ne le voient pas. Si votre analyseur est strict concernant les champs superflus, c'est là qu'il trébuchera en premier.

## Un appel identique répété ne coûte rien

Une requête identique pendant la fenêtre de cache renvoie `X-Cache: HIT`, et un tel appel **ne débite pas de crédits** : dans la réponse, `X-Credits-Used: 0`, et le solde est restitué. Autrement dit, il est impossible de mesurer le coût en faisant tourner la même requête : vous ne payez qu'une seule fois.

## La clé Sandbox ne dépense rien

`aw_test_*` ne débite pas de crédits du tout et n'est pas inclus dans la limite du compte. Ce n'est pas une «petite allocation», c'est zéro. Vous devriez développer avec cette clé, et prendre `aw_live_*` lorsque vous vérifiez la facturation.

## Les champs inconnus sont ignorés silencieusement

Le corps accepte les clés supplémentaires et les ignore. La seule exception est pour les abréviations explicitement rejetées (`lat`, `tz` et les autres, voir [Formats de champs](/agent-setup/field-formats/)). Par conséquent, une faute de frappe dans le nom d'un champ ne sera généralement pas remarquée : vous obtiendrez un `200` et une carte calculée sans votre paramètre.

<Aside type="caution">
Le cas le plus coûteux de ce genre : `city` ressemble à une adresse, mais ne géocode rien. Sans `latitude` et `longitude`, il n'y aura pas de carte.
</Aside>

## Au-delà du cercle polaire, le système de maisons est remplacé

Pour les systèmes quadrants lorsque `|latitude| > 66.5°`, Swiss Ephemeris renvoie silencieusement Porphyry. Nous ne le cachons pas : un champ `warning` apparaît dans la réponse. Whole Sign et Equal fonctionnent à n'importe quelle latitude.

Nous avons fermé le cas adjacent : un code `houseSystem` inconnu ne renvoie plus Placidus sous un autre nom, mais retourne `400`.

## La clé a trois limites indépendantes

La clé de navigateur `pk_` et la clé secrète `aw_` peuvent porter trois restrictions à la fois, et elles ne se remplacent pas :

| Limite | Ce qui est dit | Refus |
|---|---|---|
| liste de domaines | d'où on peut appeler | `403 ORIGIN_REQUIRED` / `ORIGIN_NOT_ALLOWED` |
| `credits_cap_cycle` | combien cette clé peut dépenser | `429 KEY_BUDGET_EXHAUSTED` |
| `allowed_endpoints` | quoi on peut appeler exactement | `403 ENDPOINT_NOT_IN_SCOPE` |

La portée des endpoints **ne** libère pas les lectures de service : une clé limitée à `embed/*` ne lira pas sa propre statistique. C'est intentionnel, détails dans [Authentification](/authentication/).

## La modification de la clé prend effet dès la requête suivante

Les clés sont mises en cache pendant 60 secondes, mais toute modification via `PATCH /v1/keys/{id}` réinitialise immédiatement le cache. Il n'est pas nécessaire d'attendre une minute.
