summaryrefslogtreecommitdiffstats
path: root/website/content/platform/development/contributing/deprecating_endpoints.md
blob: c0f1a797f23f01d6e48134d31f970ebd80d35c25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
---
title: Deprecating Endpoints
sidebar_position: 4
description: This guide provides detailed instructions on how to deprecate an endpoint in the OpenBB Platform.
keywords:
- OpenBB community
- OpenBB Platform
- Custom commands
- API
- Python Interface
- Deprecation
- Deprecated
---

import HeadTitle from '@site/src/components/General/HeadTitle.tsx';

<HeadTitle title="Deprecating Endpoints - Contributor Guidelines - Development | OpenBB Platform Docs" />

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:

    ```python

    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.