Amplitude Govern (API deprecated by Amplitude)

Publishing your tracking plan to Amplitude Govern

5 minute read



💡 Amplitude has recently closed it's public API making us unable to offer this option to our users. We will make it available as soon as they offer an API to update Govern.

The integration to Amplitude Govern allows for your Tracking Plan to be published into Amplitude Govern whenever a branch has been merged. You can also manually trigger a publish by clicking the "Publish to Govern" button on the integration screen or download a CSV file on the Amplitude Govern format, which you can manually import into Govern. The events to be published can be filtered by Sources, Destinations and Tags.

Configure the Govern integration

To enable the direct integration with Amplitude Govern, you need to configure it with the following parameters from Amplitude. They can be found from the project settings in Amplitude. From the left sidebar in your Amplitude workspace click: Settings > Projects > [Your Project Name]. The URL should look like this:{org-name}/settings/projects/{project-id}/general.

  • Amplitude API Key
  • Amplitude Secret Key

Publishing to Govern

To publish your Avo tracking plan to Govern, click the "Publish to Govern" button in the integration interface, or enable Auto Publishing to publish the events included in the publishing integration whenever a branch has been merged.

What Is Included In The Publish to Govern?

On publish, Avo will merge your Avo tracking plan with any existing events in Govern. Any changes made to an event in Govern between Avo publish will be overridden on next Avo publish.

Avo will not impact any events or properties that are not defined in Avo, or events that have not been added to the Govern integration in Avo. Avo will not impact any custom events defined in Govern.

Here's how events, properties and categories are mapped from Avo to Govern:


  • Event type: The event name as defined in Avo. If name mapping is applied to the event for an Amplitude destination, the name defined by the name mapping is used here.
  • Category: Amplitude Govern only supports one category per event, so the first category attached to the event in Avo is used here
  • Description: This is the description as provided in Avo and list of triggers defined in Avo for each source

Event Property

  • Event property: The property name as defined in Avo. If name mapping is applied to the property for an Amplitude destination, the name defined by the name mapping is used here.
  • Event type: The name of the event this property is attached to. If the property is attached to multiple events in Avo, multiple properties will be created in Govern because Govern does not support reusing properties across multiple events with a global namespace.
  • Type: The property type in Avo mapped to one of Govern's supported property types: string, number, boolean, enum or any
  • Is array: true if the "list" checkbox is checked on the property in Avo
  • Is required: true if the property is marked as "Always sent" in Avo
  • Description: The property description as defined in Avo
  • Enum values: If the property is of type string, and the "property matches..." rule is applied in Avo, the allowed values are provided here


  • Name: The name of the category as defined in Avo. If the category already exists in Govern, we reuse that one.

Govern Publishing Warnings

  • 409 Conflict: Some events that are in your Govern Schema are not recognized by the Govern API, for example events that have been merged into other events in Govern or events that are blocked. Events that end up returning 409 error in Amplitude are likely not active. If you'd like to get rid of this warning please double check them and remove them from your Avo tracking plan if they are not active anymore.

Govern Publishing Errors

The following errors might occur when publishing your tracking to Govern. When publishing errors occur the error message in the Avo UI will contain which items could not be updated along with the error codes.

  • 404 Not Found: This error can be thrown in few scenarios:

    • We tried to update an event that doesn't exist in your Amplitude Govern Schema
    • If this error only occurs for events and properties Amplitude hasn't seen yet, it might indicate that the schema in Amplitude Govern hasn't been initialized, or that you don't have access to the "Plan data" functionality in Amplitude Govern
    • If this error occurs for all of the events you are attempting to publish it might indicate that your Amplitude Govern Schema has not been initialized. Learn more about initializing your Amplitude Govern Schema in the Amplitude Govern docs. After you Govern Schema is initialized usually the API continues to return occasional 404 errors for a few more hours. If your Govern Schema has been initialized more than 6 hours ago and the error persists, please contact support.
  • 408 Timeout: The publishing operation took too long. This can happen when publishing large tracking plans for the first time. Click publish again to resume the publish, it will continue from where it left off.

  • 409 Conflict: We tried to update an item that doesn't exist in your Amplitude Govern Schema. We noticed that this error may happen if the entity has a non-default state in your Govern schema, i.e. it is marked as "Unexpected" or "Blocked". Try setting the state to "Expected" in Govern and unblock erroring entities and publish again. If that does not help this might be caused by an internal error. Please reach out to support so we can help you resolve the issue.

  • 429 Too Many Requests: We've exceeded the number of Govern requests we can make per hour for the provided API credentials or there are too many concurrent requests to the Amplitude Govern API with given credentials. Please wait before trying to publish again and make sure that you are not running multiple publishing at the same time for the same credentials. You can learn more about Amplitude Govern request limits in the Amplitude Govern docs.

  • Other error codes: Please contact us if you are experiencing other types of errors.