Use metadata to return additional information

Hi there!

I’m using ash_json_api and I’m trying to add metadata to the response of a create action, but it doesn’t seem to be included in the meta field. I’ve got the following relevant pieces in my resource:

  json_api do
    type "asset"

    routes do
      base "/assets"
      get :read
      index :read
      post :create
    end
  end

  actions do
    defaults [:read]

    create :create do
      # Set the current user as the owner of the asset
      change relate_actor(:user)
      # Create signed url for the asset
      metadata :signed_url, :string, allow_nil?: false
      change Swoop.Media.Changes.GeneratePresignedUrl
    end
  end

In GeneratePresignedUrl I’m returning this in a after_action function:

        result = Ash.Resource.put_metadata(result, :signed_url, url)
        {:ok, result}

But unfortunately after doing a POST to the endpoint with curl, I’m getting empty meta fields:

{"data":{"attributes":{},"id":"11700f40-c37b-4776-b3b0-7d1207cbb6d0","links":{},"meta":{},"relationships":{},"type":"asset"},"jsonapi":{"version":"1.0"},"links":{"self":"http://localhost:4000/api/json/assets"},"meta":{}}

What am I missing?

Thanks in advance!