Skip to main content

Deprecating Endpoints

Deprecating commands is essential to maintaining the OpenBB Platform. This guide outlines the process for deprecating an endpoint.

Deprecating an endpoint

  1. Add the new endpoint that will replace the deprecated one.

  2. Add the deprecation warning

    Navigate to the router where the endpoint to be deprecated exists. Set the deprecated flag to True and add deprecation=OpenBBDeprecationWarning(…) argument to the decorator. Refer to the example below:


    from openbb_core.app.deprecation import OpenBBDeprecationWarning

    @router.command(
    model="MarketIndices",
    deprecated=True,
    deprecation=OpenBBDeprecationWarning(
    message="This endpoint is deprecated; use `/index/price/historical` instead.",
    since=(4, 1),
    expected_removal=(4, 5),
    ),
    )
    async def market(
    cc: CommandContext,
    provider_choices: ProviderChoices,
    standard_params: StandardParams,
    extra_params: ExtraParams,
    ) -> OBBject:
    """Historical Market Indices."""
    return await OBBject.from_query(Query(**locals()))
  3. Get approval from a OpenBB Platform maintainer: We will help you determine the appropriate version for the deprecation warning, and communicate the change(s) to the relevant personnel that might depend on the endpoint you are deprecating.

  4. Remove as we say - the endpoint will be removed in the version specified in the deprecation warning.