It's required to return all of the values you want to have in state for the next round of evaluation (either due to a true want_more flag or at the next periodic evaluation) since the last output state is what is used for the current evaluation (except for the first). There is an exception that if the url field is missing the input will place the configured URL in the field.
The overall state flow for this is described in this figure.