---
title: "Get Tax Policy Metadata"
method: GET
path: "/api/tax/policies/{country}"
tags: ["tax"]
---

# Get Tax Policy Metadata

`GET /api/tax/policies/{country}`

## Request

- Base URL: `https://api.retirementlab.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.retirementlab.app/api/tax/policies/{country}`
- Auth: HTTP bearer

## Path parameters

- `country` string, required

## Query parameters

- `citizenship` string
- `tax_regime` string
- `wealth_tax_region` string
- `tax_filing_status` string

## Response `200`

Successful Response

- TaxPolicyMetadataResponse
  - `country` string, required
  - `effective_from` string, required
  - `sources` string[], required
  - `known_simplifications` string[], required
  - `component_labels` object
  - `wrappers_available_count` integer
  - `last_verified` string
  - `treaty_provisions` TreatyProvisionsResponse
    - `citizenship` string, required
    - `residency` string, required
    - `social_security_taxable_by` 'citizenship' | 'residency' | 'both' | 'source_state', required
    - `public_pension_taxable_by` 'citizenship' | 'residency' | 'both' | 'source_state', required
    - `private_pension_taxable_by` 'citizenship' | 'residency' | 'both' | 'source_state', required
    - `traditional_ira_401k_withdrawal_taxable_by` 'citizenship' | 'residency' | 'both' | 'source_state', required
    - `roth_withdrawal_taxable_by` 'citizenship' | 'residency' | 'both' | 'source_state', required
    - `capital_gains_taxable_by` 'citizenship' | 'residency' | 'both' | 'source_state', required
    - `source_state_caveats` string[]
    - `source_citation` string, required
    - `last_verified` string, required
  - `dual_tax_fallback` DualTaxFallbackMetadataResponse: Classification metadata for the dual-tax overlay's fallback posture on a US-citizen residency pair. ``treaty_status`` reflects whether the simulator's treaty matrix has an entry for the pair, ``residence_tax_model`` reflects the residency country's domestic tax model, and ``fallback_posture`` summarizes the simulator's simulation methodology given those facts.
    - `country` string, required
    - `treaty_status` 'explicit_treaty_matrix' | 'treaty_exists_not_encoded' | 'no_income_tax_treaty', required
    - `residence_tax_model` 'worldwide' | 'territorial' | 'remittance' | 'no_personal_income_tax' | 'special_regime_dependent' | 'unknown_or_conservative', required
    - `fallback_posture` 'standard_both_ftc' | 'conservative_both_ftc' | 'domestic_policy_primary' | 'conservative_assumption_only', required
    - `summary` string, required
    - `source_citation` string, required
    - `last_verified` string, required
  - `exit_tax_rule` ExitTaxRuleResponse
    - `country` string, required
    - `rule_name` string, required
    - `summary` string, required
    - `sources` string[], required
    - `known_simplifications` string[]
    - `caveat` string
    - `applies_in_model` boolean
    - `last_verified` string
  - `ordinary_bracket_ceilings` OrdinaryBracketCeilingResponse[]
    - `rate` number, required
    - `ceiling` number, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/retirementlab/apis/income-simulator-api.md) · [All operations](https://skmtc.dev/retirementlab/apis/income-simulator-api/llms.txt) · [OpenAPI document](https://skmtc.dev/retirementlab/apis/income-simulator-api/revisions/b0f00a0333fd?raw)
