{"record":{"id":"0c503cd7f9bb1b11","repo":"OpenBB-finance/OpenBB","slug":"country-v-is-not-a-valid-imf-country-code-iso","errorCode":null,"errorMessage":"Country '{v}' is not a valid IMF country code (ISO3) or country name.","messagePattern":"Country '(.+?)' is not a valid IMF country code \\(ISO3\\) or country name\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"openbb_platform/providers/imf/openbb_imf/models/consumer_price_index.py","lineNumber":353,"sourceCode":"    def validate_country(cls, c):\n        \"\"\"Validate country.\n\n        Accepts both ISO3 codes (e.g., \"USA\") and snake_case country names\n        (e.g., \"united_states\"). Converts names to ISO3 codes.\n        \"\"\"\n        result: list = []\n        values = c.replace(\" \", \"_\").split(\",\")\n        for v in values:\n            v_upper = v.upper()\n            v_lower = v.lower()\n            # Check if it's a valid ISO3 code\n            if v_upper in CPI_CODE_SET:\n                result.append(v_upper)\n            # Check if it's a valid snake_case country name\n            elif v_lower in CPI_LABEL_TO_CODE:\n                result.append(CPI_LABEL_TO_CODE[v_lower])\n            else:\n                raise ValueError(\n                    f\"Country '{v}' is not a valid IMF country code (ISO3) or country name.\"\n                )\n\n        return \",\".join(result)\n\n    @field_validator(\"expenditure\", mode=\"before\", check_fields=False)\n    @classmethod\n    def validate_expenditure(cls, v):\n        \"\"\"Validate expenditure.\"\"\"\n        expenditures = v.replace(\" \", \"_\").split(\",\")\n        new_expenditures: list[str] = []\n        for e in expenditures:\n            if (\n                e.lower() not in expenditure_choices\n                and e.upper() not in expenditure_dict_rev\n            ):\n                raise ValueError(\n                    f\"Expenditure '{e}' is not a valid choice. Valid choices:\\n\\n{expenditure_choices}\"","sourceCodeStart":335,"sourceCodeEnd":371,"githubUrl":"https://github.com/OpenBB-finance/OpenBB/blob/3e071fcc2cd9f891cac6040ae60296dba76dab46/openbb_platform/providers/imf/openbb_imf/models/consumer_price_index.py#L335-L371","documentation":"Error \"Country '{v}' is not a valid IMF country code (ISO3) or country name.\" thrown in OpenBB-finance/OpenBB.","triggerScenarios":"Thrown at openbb_platform/providers/imf/openbb_imf/models/consumer_price_index.py:353 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a valid IMF country code (ISO3, e.g. 'USA') or a recognized country name.","Check spelling of the country parameter."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3e071fcc2cd9f891cac6040ae60296dba76dab46","analyzedAt":"2026-08-14T23:40:48.960Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}