Documents
remove-webhook-populate-relations
remove-webhook-populate-relations
Type
External
Status
Published
Created
Mar 5, 2026
Updated
Mar 5, 2026

import Intro from '/docs/snippets/breaking-change-page-intro.md'
import MigrationIntro from '/docs/snippets/breaking-change-page-migration-intro.md'

The webhooks.populateRelations server configuration is removed#

In Strapi 5, webhooks have been refactored and the webhook.populateRelations option will become redundant. This might affect lifecycles expecting the returned relations of create, update and delete to be populated.

Breaking change description#

In Strapi v4

When an entry is created, updated, or modified in any way, the response payload of the Content Manager backend returns the total count of relations for every relational field.

You can see the count being used at the top of the relation in the Content Manager Edit view:

Content-Manager screenshot that shows populated relations count

The actual relational values are fetched using another endpoint. This was made to enhance the performance of the Content Manager requests.

To simplify webhook consumption, you can enable the (see server configuration). When enabled, all relations values are populated and sent to the webhook consumers, resulting in performance decrease.

In Strapi 5

Webhooks will be refactored, so the webhooks.populateRelations configuration is not necessary, but changing how things are populated might impact other things like database lifecycles expecting the returned relations of create, update and delete to be populated.

Migration#

Notes#

Additional information will be given once the webhooks are refactored.

Manual procedure#

Relying on any input populate values on database layer is not reliable, so if necessary in your custom code base, the lifecycle should always fetch the necessary data.