Is your feature request related to a problem? Please describe.
Yes, the current implementation of the Tango API using the same endpoint for both development and production environments creates significant challenges when MakeGov introduces breaking changes. If a breaking change is pushed to MakeGov's production endpoint, it immediately affects all environments, including our production environment, causing potential disruptions for customers. At the same time, we need a way to test these changes in a lower environment before promoting updates to production, but without versioned endpoints, we have no reliable way to control or stage these transitions effectively.
This is not a huge issue at the moment because we have not deployed some stuff to customers yet but as we scale this items will raise in priority.
Describe the solution you'd like
Introduce versioned endpoints for the Tango API. Versioned endpoints would allow us to specify the version of the MakeGov integration we want to use, ensuring we can continue using a stable version in production while testing and adapting client applications to a new version in a lower environment. Once we’re ready, we can bump the version in production, ensuring a smooth transition without impacting live customers.
Describe alternatives you've considered
- Separate Staging and Production Endpoints from MakeGov: This is not ideal because staging endpoints often do not reflect production conditions or real data, making it less reliable for testing. Additionally, breaking changes in production would still affect all live environments.
- Hotfix Reaction to Breaking Changes: Reacting to breaking changes as they happen introduces unnecessary operational strain and increases the risk of customer-facing issues.
Additional context
Versioned endpoints would give us control over when and how to adopt changes, reducing the risks of immediate disruptions while enabling thorough testing.
Is your feature request related to a problem? Please describe.
Yes, the current implementation of the Tango API using the same endpoint for both development and production environments creates significant challenges when MakeGov introduces breaking changes. If a breaking change is pushed to MakeGov's production endpoint, it immediately affects all environments, including our production environment, causing potential disruptions for customers. At the same time, we need a way to test these changes in a lower environment before promoting updates to production, but without versioned endpoints, we have no reliable way to control or stage these transitions effectively.
This is not a huge issue at the moment because we have not deployed some stuff to customers yet but as we scale this items will raise in priority.
Describe the solution you'd like
Introduce versioned endpoints for the Tango API. Versioned endpoints would allow us to specify the version of the MakeGov integration we want to use, ensuring we can continue using a stable version in production while testing and adapting client applications to a new version in a lower environment. Once we’re ready, we can bump the version in production, ensuring a smooth transition without impacting live customers.
Describe alternatives you've considered
Additional context
Versioned endpoints would give us control over when and how to adopt changes, reducing the risks of immediate disruptions while enabling thorough testing.