Reduce attributes in media column

System Information
  • Strapi Version: 4.4.3
  • Operating System:
  • Database: Postgress
  • Node Version: 16.17.0
  • NPM Version: 8.19.2
  • Yarn Version:

Is there any possibility to reduce media response just to url, name and altText?

This response is so huge and I dont need all of this attributes in response. I have kind of big response with a lot of media and this icon object makes it like 3 times more expensive.

I also want to add that icon is a part of strapi component

You can use the populate parameter.

Ignoring that icon is placed within a component, you can just do


to fetch just the desired fields.

Adjusting for the component you’d just nest the params one more level.

What about nested objects like “formats”? What if I want to select “formats” like this:


but only url key from it.
Neither that:


or that


work. Both throw 500


What about nested objects like “formats”?

Well, that depends. A field can take form of a nested object in the API response for multiple reasons:

  • it’s a relation
  • it’s a component (which is in fact just a special case of relation)
  • it’s a media field (again a special case of relation)
  • it’s a Dynamic zone
  • it’s a JSON field

The populate and fields parameters, to my knowledge, are supported only for the basic relation fields i.e. relations, components and media.

The format field of the plugin::upload.file content-type is a JSON field and hence cannot be fetched partially.

You could work around this by implementing a custom controller that strips out everything you don’t need from the response.