# Valkuilen

Niets hiervan is een fout. Het is gedrag waar je beter uit de documentatie over leert dan door het analyseren van een vreemd antwoord.

## In het antwoord is er een extra veld `_footer`

Het gratis abonnement en **elke** aanroep zonder sleutel krijgen een extra veld `_footer` met een handtekening in de body. Betaalde sleutels zien dit niet. Als je parser streng is voor extra velden, is dit het eerste waarop het struikelt.

## Identieke herhaling kost nul

Identieke aanroepen binnen het cachevenster geven `X-Cache: HIT` en zo'n aanroep **trekt geen credits af**: in het antwoord `X-Credits-Used: 0`, en het saldo wordt teruggestort. Je kunt dus de kosten niet meten door dezelfde aanroep herhaaldelijk te sturen: je betaalt één keer.

## Sandbox-sleutel kost niets

`aw_test_*` trekt helemaal geen credits af en valt niet binnen de accountlimiet. Het is geen 'kleine quota', maar nul. Je moet hierop ontwikkelen, en `aw_live_*` gebruiken wanneer je de facturatie controleert.

## Onbekende velden worden genegeerd

De body accepteert extra sleutels en negeert ze. De uitzondering is voor expliciet geweigerde korte notaties (`lat`, `tz` en de rest, zie [Veldformaten](/agent-setup/field-formats/)). Een typefout in een veldnaam merk je meestal niet: je krijgt `200` en een kaart berekend zonder je parameter.

<Aside type="caution">
Het duurste geval hiervan: `city` lijkt als een adres, maar codeert niets. Zonder `latitude` en `longitude` is er geen kaart.
</Aside>

## Boven de poolcirkel wordt het huizensysteem vervangen

Voor kwadrant systemen met `|latitude| > 66.5°` geeft Swiss Ephemeris stil Porphyry terug. We verbergen dit niet: in het antwoord verschijnt een `warning` veld. Whole Sign en Equal werken op elke breedtegraad.

Een vergelijkbaar geval hebben we gesloten met weigering: een onbekende `houseSystem` code geeft niet langer Placidus onder een andere naam, maar retourneert `400`.

## Sleutels hebben drie onafhankelijke limieten

De browser-sleutel `pk_` en de geheime `aw_` kunnen drie beperkingen tegelijk dragen, en ze vervangen elkaar niet:

| Limiet | Wat het zegt | Weigering |
|---|---|---|
| domeinlijst | waarvandaan je kunt aanroepen | `403 ORIGIN_REQUIRED` / `ORIGIN_NOT_ALLOWED` |
| `credits_cap_cycle` | hoeveel deze sleutel kan uitgeven | `429 KEY_BUDGET_EXHAUSTED` |
| `allowed_endpoints` | wat precies je kunt aanroepen | `403 ENDPOINT_NOT_IN_SCOPE` |

Het endpoint-bereik **vrijstelt** niet voor service-lezingen: een sleutel beperkt tot `embed/*` leest ook zijn eigen statistiek niet. Dit is opzettelijk, details in [Authenticatie](/authentication/).

## Wijziging van een sleutel werkt vanaf de volgende aanroep

Sleutels worden 60 seconden gecached, maar elke wijziging via `PATCH /v1/keys/{id}` reset de cache onmiddellijk. Je hoeft niet een minuut te wachten.
