{"record":{"id":"e42dbbeb2ec4c021","repo":"OpenBB-finance/OpenBB","slug":"dates-must-be-after-2022-04-03","errorCode":null,"errorMessage":"Dates must be after 2022-04-03.","messagePattern":"Dates must be after 2022-04-03\\.","errorType":"validation","errorClass":"OpenBBError","httpStatus":null,"severity":"error","filePath":"openbb_platform/providers/econdb/openbb_econdb/models/port_volume.py","lineNumber":26,"sourceCode":"from openbb_core.app.model.abstract.error import OpenBBError\nfrom openbb_core.provider.abstract.fetcher import Fetcher\nfrom openbb_core.provider.standard_models.port_volume import (\n    PortVolumeData,\n    PortVolumeQueryParams,\n)\nfrom openbb_core.provider.utils.errors import EmptyDataError\nfrom pydantic import Field, field_validator\n\n\nclass EconDbPortVolumeQueryParams(PortVolumeQueryParams):\n    \"\"\"EconDB Port Volume Query Parameters.\"\"\"\n\n    @field_validator(\"start_date\", \"end_date\", mode=\"before\", check_fields=False)\n    @classmethod\n    def validate_dates(cls, v):\n        \"\"\"Validate the dates.\"\"\"\n        if v and v < datetime(2022, 4, 4).date():\n            raise OpenBBError(\n                \"Dates must be after 2022-04-03.\",\n            )\n        return v if v else None\n\n\nclass EconDbPortVolumeData(PortVolumeData):\n    \"\"\"EconDB Port Volume Data.\"\"\"\n\n    export_dwell_time: float | None = Field(\n        default=None,\n        description=\"EconDB model estimate for the average number of days from when a container\"\n        + \" enters the terminal gates until it is loaded on a vessel.\"\n        + \" High dwelling times can indicate vessel delays.\",\n    )\n    import_dwell_time: float | None = Field(\n        default=None,\n        description=\"EconDB model estimate for the average number of days from when a container is discharged\"\n        + \" from a vessel until it exits the terminal gates.\"","sourceCodeStart":8,"sourceCodeEnd":44,"githubUrl":"https://github.com/OpenBB-finance/OpenBB/blob/3e071fcc2cd9f891cac6040ae60296dba76dab46/openbb_platform/providers/econdb/openbb_econdb/models/port_volume.py#L8-L44","documentation":"EconDbPortVolumeQueryParams defines a field_validator on start_date/end_date that rejects any date earlier than 2022-04-04, raising OpenBBError('Dates must be after 2022-04-03.'). The EconDB shipping/port-volume dataset simply begins on 2022-04-04, so earlier dates are invalid by construction.","triggerScenarios":"Calling economy.port_volume(provider='econdb', start_date='2020-01-01') (or any date < 2022-04-04) — the error fires at parameter validation time, before any HTTP request.","commonSituations":"Reusing a generic default start_date (e.g. 5 years back) from a multi-provider workflow where other providers have longer history; copy-pasting date ranges from other endpoints.","solutions":["Set start_date (and end_date) to 2022-04-04 or later.","Omit the dates entirely to get the full available range.","Branch per provider when sharing date params across providers in one script."],"exampleFix":"# before\nobb.economy.port_volume(provider='econdb', start_date='2021-01-01')\n\n# after\nobb.economy.port_volume(provider='econdb', start_date='2022-04-04')  # or omit start_date","handlingStrategy":"validation","validationCode":"from datetime import date\nECONDB_PORT_MIN = date(2022, 4, 4)\nif start_date and start_date < ECONDB_PORT_MIN:\n    start_date = ECONDB_PORT_MIN","typeGuard":null,"tryCatchPattern":"from openbb_core.app.model.obbject import OpenBBError\ntry:\n    res = obb.economy.port_volume(provider='econdb', start_date=s)\nexcept OpenBBError as e:\n    if 'must be after 2022-04-03' in str(e):\n        s = date(2022, 4, 4)\n        res = obb.economy.port_volume(provider='econdb', start_date=s)\n    else:\n        raise","preventionTips":["Per-provider date clamping in shared multi-provider code.","Omit dates when full history is acceptable.","Document dataset start dates per provider in your config."],"tags":["validation","date-range","port-volume","econdb"],"backgroundTag":null,"analyzedSha":"3e071fcc2cd9f891cac6040ae60296dba76dab46","analyzedAt":"2026-08-14T23:40:48.960Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}