# EVENT_DEFINITION_IMMUTABLE

- Surface: API
- HTTP status: 409
- Details: `{ eventDefinitionId: string, eventDefinitionVersionId: string, attemptedOp: string }`

## Cause

The request attempted to change a published Event Definition Version, whose contract is immutable so accepted Metric Events remain traceable.

## Fix

Publish the changed contract as the next Event Definition Version. Keep the existing Version unchanged for Metric Events it already accepted.

## Related

- [EVENT_DEFINITION_UNPUBLISHED](https://splitch.dev/docs/error/EVENT_DEFINITION_UNPUBLISHED)
- [EVENT_DEFINITION_VERSION_NOT_FOUND](https://splitch.dev/docs/error/EVENT_DEFINITION_VERSION_NOT_FOUND)
- [VALIDATION_ERROR](https://splitch.dev/docs/error/VALIDATION_ERROR)

Source: https://splitch.dev/docs/error/EVENT_DEFINITION_IMMUTABLE