> ## Documentation Index
> Fetch the complete documentation index at: https://docs.centsless.org/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /jurisdiction/zip/{zip_code} — Resolve by ZIP

> Look up any U.S. ZIP code to resolve rounding mode, enforcement level, and legislation reference. Returns the full city-county-state hierarchy. Covers 33,791 ZIP codes.

Use this endpoint to check the rounding rule for any location before processing a transaction. It returns the full resolution chain — city, then county, then state, then federal default — so you always get the most locally specific rule that applies. The database covers 33,791 U.S. ZIP codes mapped to their state, county, and city.

## Endpoint

```
GET https://api.centsless.org/api/v1/jurisdiction/zip/{zip_code}
```

## Authentication

All requests require an `x-api-key` header. Keys are issued per role — merchant, auditor, or admin.

## Path parameters

<ParamField path="zip_code" type="string" required>
  The 5-digit U.S. ZIP code to resolve. Example: `85001`
</ParamField>

## Code example

```bash theme={null}
curl https://api.centsless.org/api/v1/jurisdiction/zip/85001 \
  -H "x-api-key: YOUR_API_KEY"
```

## Example response

```json theme={null}
{
  "jurisdiction_id": "US-AZ",
  "jurisdiction_level": "state",
  "rounding_mode": "swedish_rounding",
  "enforcement": "mandatory",
  "legislation": "AZ HB 2938",
  "status": "enacted",
  "effective_date": "2025-01-01",
  "notes": "Swedish rounding required for all cash transactions statewide.",
  "source_url": "https://leginfo.example.gov/az/hb2938"
}
```

## Response fields

<ResponseField name="jurisdiction_id" type="string">
  Jurisdiction identifier. Example: `US-AZ`
</ResponseField>

<ResponseField name="jurisdiction_level" type="string">
  The level in the resolution hierarchy where the rule was found. One of: `federal`, `state`, `county`, `city`
</ResponseField>

<ResponseField name="rounding_mode" type="string">
  The rounding algorithm that applies at this location. One of: `swedish_rounding`, `mandatory_round_down`, `mandatory_round_up`, `symmetrical_rounding`, `nearest_nickel`, `nearest_cent`, `nearest_dime`, `none`
</ResponseField>

<ResponseField name="enforcement" type="string">
  How strictly the rule applies. One of: `mandatory`, `permissive`, `voluntary`, `none`
</ResponseField>

<ResponseField name="legislation" type="string">
  The bill or regulation that enacted this rule. Example: `AZ HB 2938`
</ResponseField>

<ResponseField name="status" type="string">
  Legislative status. One of: `enacted`, `pending`, `proposed`, `failed`, `no_legislation`
</ResponseField>

<ResponseField name="effective_date" type="string">
  The date the rule took effect, in ISO 8601 date format.
</ResponseField>

<ResponseField name="notes" type="string">
  Additional context about the rule or its scope.
</ResponseField>

<ResponseField name="source_url" type="string">
  URL to the authoritative legislative source.
</ResponseField>

<Tip>
  You do not need to make a separate lookup before processing a transaction. Pass `zip_code` directly in your `/transaction` request body — the engine resolves the jurisdiction and applies the correct rounding rule automatically.
</Tip>
